让我的 Lua 文件更新。

我正在为《魔兽世界》开发一个插件,现在我的项目已经完成,但只能运行一次。

我的目标是在屏幕上创建一个接口,显示某些统计数据,而在战斗中,你可能会获得一些过程,你的统计数据将增加。

目前,我的代码创建了接口并显示了基础统计数据。

以下是我编写的可用于正确更新的函数。

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

我通过创建游戏中的一个命令来测试它,以运行该函数。怎么才能让函数以合理的速度运行自己,比如每秒两次。

点赞
用户1212870
用户1212870

你应该将这个函数加入游戏循环函数里,可能是像 timetick(); 这样;或者你应该自己编写 timetick 函数然后调用这个 updateFunction

2014-08-22 02:33:08
用户3937316
用户3937316

以下是每2秒钟更新的方法:

本地总计 = 0

本地功能 onUpdate(self, elapsed)
    总计 = 总计 + 经过的时间
    如果总计 >= 2 then
        更新函数()
        总计 = 0
    结束
结尾

本地 f = 创建框架(“ frame”)
f:SetScript(“ OnUpdate”, onUpdate)

只是使用了附加程序的内部更新系统=)

来源:http://wowprogramming.com/snippets/Create_a_mini-timer_using_OnUpdate_3

2014-08-22 14:34:49