我正在为魔兽世界制作一个插件,我的项目已经完成了,但是它只运行一次就完成了。
我的目标是在我的屏幕上制作一个界面,显示某些属性,在战斗中你可能会得到某种过程,你的属性会增加。
现在我的代码创建接口并显示基本统计。
这是我写的一个函数,我可以用它来正确地更新它。
local function updateFunction()
AgilityLine.text:SetText("Agility = ".. getRangedAgility())
AttackPowerLine.text:SetText("AP = ".. getRangedAttackPower())
CritLine.text:SetText("Crit = ".. getRangedCrit() .."%")
MasteryLine.text:SetText("Mastery = ".. getRangedMastery())
HasteLine.text:SetText("Haste = ".. getHaste() .."%")
end
我通过制作一个游戏内命令来运行该函数来测试它。如何使函数以合理的速度运行,例如每秒两次
如何每隔2s秒更新一次:
local total = 0
local function onUpdate(self,elapsed)
total = total + elapsed
if total >= 2 then
updateFunction()
total = 0
end
end
local f = CreateFrame("frame")
f:SetScript("OnUpdate", onUpdate)
使用插件的内部更新系统=)
来源:http://wowprogramming.com/snippets/Create_a_mini-timer_using_OnUpdate_3
你应该将这个函数添加到游戏循环函数中,比如timetick();或者你应该自己编写timetick函数并调用updateFunction