我正在改變一個在Lua寫的魔獸世界插件。 有一個簡單的布爾變量,用於確定是否顯示一些「全部」幀或只顯示特定的一個。LUA - OnUpdate shift modifier
所以當= true,那麼它只會顯示特定幀 當=假,它會顯示所有幀
我想和Shift鍵修飾符來顯示所有的幀時按下Shift鍵,然後隱藏換班時再次放棄。
if IsShiftKeyDown() then
cfg.aura.onlyShowPlayer = false
else
cfg.aura.onlyShowPlayer = true
end
這是我非常簡單的解決方案,它的工作原理。這裏的問題是它只在腳本開始時才起作用。每當接口被加載時,你都會在WoW中看到,如果沒有告訴其他的話,它會運行腳本。這不是非常有效,因爲我會將我的用戶發送到加載屏幕。
OnUpdate應該修復我的問題,這將會在每次幀渲染時運行這個特定的代碼,這是非常方便的,並且是我想要完成的。
所以這是我做了什麼
local function onUpdate(self,elapsed)
if IsShiftKeyDown() then
cfg.aura.onlyShowPlayer = false
else
cfg.aura.onlyShowPlayer = true
end
end
local shiftdebuffs = CreateFrame("frame")
shiftdebuffs:SetScript("OnUpdate", onUpdate)
我現在的問題是,這是行不通的。我新的onUpdate的東西,只有複製粘貼它從我做的另一個插件,工作得很好。 正確它直接去= false,這只是我認爲是因爲它是默認的。
感謝您的幫助
我沒有告訴你腳本的其餘部分,所以是真的默認。因爲它會檢查cfg.aura.onlyShowPlayer是否爲真/假,並執行另一個if/else操作。就像我說的,我只是編輯這個插件,所以我不想直接修改。 – gempir 2014-10-03 23:05:37