嘿那里我试图在我的游戏中使用动画,但由于某种原因我得到错误 这是我用于动画的代码
local function animate( event )
gear.rotation = gear.rotation + 10
end
Runtime:addEventListener("enterFrame", animate);
如果我在没有导演课程的情况下使用它,这是有效的 导演班是从一个场景变为另一个场景
当我尝试离开课程或去其他课程时,我收到错误消息 但它会一直旋转,直到我试图离开班级
错误=尝试对字段'旋转'执行算术(零值)
请帮忙 在此先感谢!
答案 0 :(得分:1)
试试这个:
gear.rotation = 0
local function animate( event )
gear.rotation = gear.rotation + 10
end
Runtime:addEventListener("enterFrame", animate);
答案 1 :(得分:1)
最有可能在您更改场景时,您的enterFrame仍在运行,但旧场景正在移除您的齿轮对象(但齿轮变量仍然存在)。确保在更改场景之前删除该enterFrame侦听器。
答案 2 :(得分:0)
试试这个:
local gear.rotation = 0
local function animate( event )
gear.rotation = gear.rotation + 10
end
Runtime:addEventListener("enterFrame", animate);
当您离开页面时,请致电:
Runtime:removeEventListener("enterFrame", animate);
director:changeScene("yourScene")
仍然存在问题,请尝试以下代码:
local bg = display.newRect(0,0,display.contentWidth,display.contentHeight) -- or simply create a background
-- create gear
local gear.rotation = 0
local function animate( event )
gear.rotation = gear.rotation + 10
end
bg:addEventListener("enterFrame", animate);
当您离开页面时,请致电:
bg:removeEventListener("enterFrame", animate);
director:changeScene("yourScene")
继续编码...... :)
答案 3 :(得分:0)
我找到了解决我问题的方法,我刚刚更改了本地功能 只是功能,它的工作原理。
function animate( event )
gate_a.rotation = gate_a.rotation + 2
end
Runtime:addEventListener("enterFrame", animate);
当我离开现场时
Runtime:removeEventListener("enterFrame", animate);