Corona SDK动画不能与导演类一起使用?

时间:2013-05-09 20:51:48

标签: android corona

嘿那里我试图在我的游戏中使用动画,但由于某种原因我得到错误 这是我用于动画的代码

local function animate( event )
    gear.rotation = gear.rotation + 10
end
Runtime:addEventListener("enterFrame", animate);

如果我在没有导演课程的情况下使用它,这是有效的 导演班是从一个场景变为另一个场景

当我尝试离开课程或去其他课程时,我收到错误消息 但它会一直旋转,直到我试图离开班级

错误=尝试对字段'旋转'执行算术(零值)

请帮忙 在此先感谢!

4 个答案:

答案 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);