空大/小林大/K大 超強的 >///<
介面太讚了 ~
只可惜...這台 ViewSonic VA702
4:3 畫面這樣子太擠了 XD
所以只好對不起 空大 了...
我把介面又改成之前那樣子啦 XD
讓我花了一天半左右的時間才改好ˊˋ
KGPanels 的指令還真是難找阿 ~
真佩服那些會修改、寫 UI 的人 ...
他們頭腦真好 ˊˋ 果然不是我這種等級比得上的ˊˋ
老樣子 ... 我又來把指令整理一下了!
這樣子以後電腦重灌想重寫/修改就方便多了ˊˋ
===================================================================
KGPanels 框架
===================================================================
kgPanels:FetchFrame("面板名稱")-- 這是用來獲取樣式中定義的框體
kgpanels:ActivateLayout("面板名稱")
-- 這是 啟用 '面板名稱'
===================================================================
切換混色與透明度
===================================================================
self.bg:SetBlendMode("模式")
-- 模式...小弟僅知在這裡可寫 Blend 與 MOD
self:SetAlpha(0.6)
-- 0.6 是指 透明度(%),0.6 即是指60%
-- 1 也就是 100% 係指 '不透明',越少越透明
===================================================================
OnClick 寫法
===================================================================
<OnClick>if pressed then
if kgPanels:FetchFrame("Ctrl"):IsVisible() then
kgPanels:FetchFrame("RecountCtrl"):Hide()
kgPanels:FetchFrame("OmenCtrl"):Hide()
kgPanels:FetchFrame("GridCtrl"):Hide()
kgPanels:FetchFrame("Ctrl"):Hide()
kgPanels:FetchFrame("Mode"):Hide()
kgPanels:FetchFrame("DD"):Hide()
else
kgPanels:FetchFrame("RecountCtrl"):Show()
kgPanels:FetchFrame("OmenCtrl"):Show()
kgPanels:FetchFrame("GridCtrl"):Show()
kgPanels:FetchFrame("Ctrl"):Show()
kgPanels:FetchFrame("Mode"):Show()
kgPanels:FetchFrame("DD"):Show()
end
elseif released then
end
-- 以上是從 KKUI 8.0 我針對我換置完成後的面板所寫的 'Menu' 按鈕-- 主要結構是:
-- if pressed then
-- 按下去的動作
-- elseif released then
-- 放開後的動作
-- end
===================================================================
===================================================================
local _, class = UnitClass("player");
if class == "WARRIOR" then
self:SetBackdropBorderColor(0.68, 0.53, 0.37, 0.6)
elseif class == "PRIEST" then
self:SetBackdropBorderColor(0.75, 0.75, 0.75, 0.6)
elseif class == "MAGE" then
self:SetBackdropBorderColor(0.35, 0.70, 0.83, 0.6)
elseif class == "DRUID" then
self:SetBackdropBorderColor(0.82, 0.40, 0.03, 0.6)
elseif class == "PALADIN" then
self:SetBackdropBorderColor(0.83, 0.47, 0.63, 0.6)
elseif class == "HUNTER" then
self:SetBackdropBorderColor(0.67, 0.83, 0.45, 0.6)
elseif class == "ROGUE" then
self:SetBackdropBorderColor(1, 0.96, 0.41, 0.6)
elseif class == "SHAMAN" then
self:SetBackdropBorderColor(0.11, 0.29, 0.82, 0.6)
elseif class == "WARLOCK" then
self:SetBackdropBorderColor(0.40, 0.34, 0.56, 0.6)
elseif class == "DEATHKNIGHT" then
self:SetBackdropBorderColor(0.7, 0.12, 0.23, 0.6)
end
-- color(r,g,b,alpha)
-- alpha 在 KKUI 原本是用 self.bg:GetAlpha() 來取得透明度
===================================================================
載入素材
===================================================================
self.bg:SetTexture("Interface\\Textures\\8recount\\8rwar.tga")
-- 上面是範例 by KKUI Beta 8.0
-- 在 (" ") 中,記得資料夾位置是用雙斜線 '\\'
-- 可在上面的職業顏色中,個別加入這行,即可針對職業來套入素材
===================================================================
Bartender 4 各快捷鍵列使用===================================================================
BT4Bar#-- # 即是哪一快捷鍵列,有 1~10
-- 命令 ... 我只用到 Show()、Hide() 及 SetClickThrough(true/false)
-- 應該還有其他的...可是我懶得找 冏rz
-- 應該還有其他的...可是我懶得找 冏rz
--
-- SetClickThrough(true/false) 即是是否要讓滑鼠點擊穿越
--
-- 以下有些範例 ~~
--
-- Example 1:
-- BT4Bar3:Show()
-- Example 2:
-- if BT4Bar3:IsVisible() then
-- BT4Bar8:Hide()
-- end
-- Example 3:
-- BT4Bar3:SetClickThrough(true)
===================================================================
更換 Bartender 4 設定檔(Profile)
===================================================================
Bartender4.db:SetProfile("設定檔名稱")-- 就...這沒啥好說的ˊˋ
===================================================================
判斷 Bartender 4 目前的設定檔 (Profile)
===================================================================
if (Bartender4.db:GetCurrentProfile() == "X-Files:Grid") then
self:Hide()
end
-- 上面是範例
-- Bartender4.db:GetCurrentProfile() 即是主要的判斷句
-- X-Files:Grid 可套換成各式的設定檔名稱
-- then 後面、下面接的當然就是欲執行的命令囉~
===================================================================
判斷 Grid 是否有開啟
===================================================================
local GridLayout = Grid:GetModule("GridLayout")if GridLayout.frame:IsShown() then
動作
end
-- 這個判斷句試了很久才出來 ~"~
-- 網路上只寫 GridLayout.frame:IsShown()
-- 結果一直說找不到 GridLayout
-- 換了 GrifGrame:IsShown()
-- 也是說找不到 GridFrame
-- 原來...
-- 要先抓取阿~
-- 所以...弄出來真是高興 >///<
-- 不過...似乎有更好判斷方式!但是我還沒想/查/驗證出來...
===================================================================
開啟/待命 Grid
===================================================================
SlashCmdList.GRID("standby")StaticPopup1Button1:Click()
-- 這是某位大大寫的...沒記錯好像是 LUI 的作者回覆網友的問題的解答 !?
-- 這個是用 SlashCmdList 寫的
-- 也就是我們打的 /grid standby
-- 然後第二行是自動點下去由 Grid 切換成待命時所出現的警告視窗
-- 沒意外以後有跳出來的警告/顯示都可以這樣做
--
-- 這個最大的缺點就是...
-- 他不會理會目前 Grid 的狀態 XD
-- 一直點...就會一直開開關關的 冏rz
--
-- 因此配合上面判斷 Grid的存活開啟/待命狀態使用即可!
--
-- 另外,因為 Grid 的設定檔是各腳色通用...
-- 若這腳色切待命,另一腳色開啟也會是待命
-- 然後用指令開啟的話,又會出現 GridLayout 出錯、找不到!
-- 這點可能只能用手動開啟了ˊˋ目前我的頭腦還想不到ˊˋ
===================================================================
Omen
===================================================================
OmenBarList:Hide()OmenTitle:Hide()
-- Title 標題列、BarList 底下的仇恨條
-- Show()、Hide() 與前面一樣 ~
===================================================================
Recount
===================================================================
Recount.MainWindow:Hide()-- 此行命令是控制主視窗用的 ~
-- Show()、Hide() 與前面一樣 ~
Recount.MainWindow.CloseButton:Hide()
-- 此行是說 Recount 上面的關閉按鈕
-- Show()、Hide() 與前面一樣 ~
Recount:LockWindows(true/false)
-- 是否要鎖定 Recount
Recount:SaveMainWindowPosition()
-- 儲存 Recount 的位置
===================================================================
滑鼠經過按鈕有變化
===================================================================
<OnEnter> self:SetAlpha(1)
<OnLeave>
self:SetAlpha(0.3)
self:SetAlpha(0.3)
-- 這是我用來讓按鈕有變化的...
-- 滑鼠經過,則按鈕變成 '不透明'
-- 離開後變成 30% 透明
-- 可搭配 self.bg:SetBlendMode 等等命令讓其更活潑 XD
===================================================================
IsShown() 與 IsVisible() 差別
===================================================================
其實我也不是很了解 冏rz大致上就是...如果我沒猜錯的話 ~
IsShown = parent or children 任一看的到
IsVisible = parent、children 都要在視窗上看到
結論就是...
英文好難 XD
沒有留言:
張貼留言