魔獸世界插件實(shí)戰(zhàn)筆記從入門(mén)到放棄的心理歷程 第一節(jié) Lua框體的建立


找到魔獸世界的安裝目錄,找到插件的默認(rèn)位置:\World of Warcraft\_retail_\Interface\AddOns,在這里建立一個(gè)文件夾,魔獸的插件都是用一個(gè)文件夾來(lái)區(qū)分的,第一課嗎,就用Lesson_one吧。
下面建立的三個(gè)文件,第一個(gè)點(diǎn)toc文件是最重要的一個(gè),它是魔獸客戶(hù)端識(shí)別插件的一個(gè)標(biāo)識(shí)符。

魔獸版本號(hào)有一個(gè)函數(shù)可以查詢(xún)?cè)赪oWLua下面運(yùn)行:print("當(dāng)前游戲版本號(hào):",(select(4,GetBuildInfo())));可以看出來(lái)當(dāng)前版本是90200版本,有時(shí)候插件提示過(guò)期,那就是這個(gè)版本號(hào)不對(duì)了。UiFarme.xml? ?一般是用它來(lái)進(jìn)行布局,和在功能上區(qū)分開(kāi)來(lái),xml專(zhuān)門(mén)畫(huà)出框體,lua來(lái)實(shí)現(xiàn)功能,但是他們的功能其實(shí)都是通用的,放在哪里,專(zhuān)門(mén)實(shí)現(xiàn)看你愿意,現(xiàn)在先從最基本的lua直接建立框體來(lái)講起,因?yàn)閯傞_(kāi)始,代碼也不是很多,放哪里都看得清。
toc文件代碼:
# 魔獸版本號(hào)
## Interface: 90200
# 標(biāo)題
# Title: 第一課框架
## Title: |cffffe00a[|r|cffff7d0a摸魚(yú)兒|r|cffffe00a]|r |cff69ccf0第一節(jié) 框架的建立|r
# 說(shuō)明
# Notes: 介紹魔獸插件框架的建立。
## Notes: |cff69ccf0魔獸世界插件實(shí)戰(zhàn)筆記從入門(mén)到放棄的心理歷程 第一節(jié)|r
# 作者
## Author: 摸魚(yú)兒
# 插件的版本號(hào),和魔獸版本號(hào)沒(méi)有關(guān)系
## Version: 1.0.0
# 框體布局文件
UiFarme.xml
# 腳本文件,一般用來(lái)放功能實(shí)現(xiàn)函數(shù)
LuaFamrme.lua
lua文件代碼:
-- CreateFrame ?API函數(shù),建立一個(gè)框架
-- UIParent ?這個(gè)就是魔獸世界的所有窗體的父窗體了,默認(rèn)的都是這個(gè)
-- BackdropTemplate ?魔獸世界的一個(gè)默認(rèn)模板,
local f = CreateFrame("Frame", nil, UIParent, "BackdropTemplate")
-- 定位的設(shè)置,表示這個(gè)窗體在UIParent的中間位置
f:SetPoint("CENTER")
-- 設(shè)置大小尺寸
f:SetSize(210, 210)
-- 這個(gè)是表示我們建立的窗體的背景圖片和外框圖片
f:SetBackdrop({
bgFile = "Interface/Tooltips/UI-Tooltip-Background",
edgeFile = "Interface/Tooltips/UI-Tooltip-Border",
edgeSize = 16,
? ?-- 內(nèi)邊收縮,上下左右各4各像素,等會(huì)就能看到什么意思了
insets = { left = 4, right = 4, top = 4, bottom = 4 },
})
-- 這是設(shè)置框體的顏色,最后一個(gè)表示的是透明度
f:SetBackdropColor(0, 0, 0.1, .4)
第一步先學(xué)習(xí)lua建立窗體。

和下圍棋一樣,這就是定式,也沒(méi)有什么好多說(shuō)的,所謂的功能,就是你學(xué)會(huì)了好多的小功能以后,把它隨心所欲的按自己想要的組裝起來(lái),就是一個(gè)功能強(qiáng)大的插件了??纯瓷厦娴囊曨l,把第一個(gè)插件框體先建立起來(lái)吧。
這里要注意的是toc文件里面的? ?|cffff7d0a摸魚(yú)兒|r? ?格式。這是16進(jìn)制的顏色,|c開(kāi)始,|r結(jié)束,前兩位是表示透明度,后?6位表示的是顏色代碼,這個(gè)網(wǎng)上搜搜一大堆,我就不多說(shuō)了,想換顏色的自己去找顏色代碼。