2

我正在为魔兽世界制作一个插件,我的项目已经完成,但它运行一次就完成了。

我的目标是在我的屏幕上制作一个显示某些统计数据的界面,并且在战斗期间您可能会获得某种触发,并且您的统计数据会增加。

现在我的代码创建界面并显示基本统计信息。

这是我编写的一个函数,可以用来正确更新它。

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

我通过在游戏中运行命令来测试它。我怎样才能使函数以合理的速度自行运行,也许每秒两次。

4

2 回答 2

2

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

本地总计 = 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

于 2014-08-22T14:34:49.790 回答
-1

您应该将此函数添加到游戏循环函数中,例如 timetick(); 或者您应该自己编写 timetick 函数并调用此 updateFunction

于 2014-08-22T02:33:08.783 回答