【问题标题】:Corona "tick" issues - addEventListener电晕“滴答”问题 - addEventListener
【发布时间】:2011-09-08 12:56:31
【问题描述】:

我一直在尝试使用 Corona SDK(使用 Lua)编写自定义刻度。关键似乎是这些“事件监听器”,但我也试图让它们与类一起工作。现在我已经设置了这个类“世界”。我正在尝试将 EventListener 添加到我的“tick”函数中,但 Corona 告诉我我做不到。

function World:tick()
--player:tick()
--camera:tick(player.x,player.y)
--for i=0,monsters.length do
--      monster[i]:tick()
    if(rwalk) then
        mainGroup.x = mainGroup.x-10
    elseif(lwalk) then
        mainGroup.x = mainGroup.x+10
    end
end
Runtime:addEventListener("enterFrame",tick)

错误:运行时错误:断言失败! 堆栈回溯: [C]: ? [C]:在函数“断言”中 ?: 在函数“getOrCreateTable”中 ?: 在函数“addEventListener”中 ?: 在函数“addEventListener”中 C:\Users\Evan\Desktop\lua\test game\main.lua:337: 在主块中

【问题讨论】:

    标签: event-handling lua coronasdk


    【解决方案1】:

    这对我有用。应该适合你:

    World = {}
    
    function World:tick()
        print "Hello!"
    end
    
    display.setStatusBar(display.HiddenStatusBar)
    Runtime:addEventListener("enterFrame", World.tick)
    

    您所缺少的只是使用World.tick 而不是tick 指定函数。

    【讨论】:

    • 哦。这工作谢谢!但现在我无法访问那里的任何世界对象的属性。假设我在该函数的任何位置添加了该行(并初始化到我的 World:new()):self.test = true。它给了我一个“测试”为零的错误。无论如何在保留对象及其所有属性的同时做一个事件监听器?
    • 如果您接受我的回答并打开一个新问题以及示例代码,我将很乐意查看它。 :)
    • 哦,好吧。我接受了你的回答,但我会开始一个新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多