在lua中旋转物理对象

时间:2013-12-15 03:56:37

标签: android ios lua rotation corona

我遇到的问题是旋转一个物体并继续前进到lua中的下一个场景。 我有一个返回delta时间的函数如下:

local runtime = 0
local function getDeltaTime()
   local temp = system.getTimer()  
   local dt = (temp-runtime) / (1000/200)
   runtime = temp
   return dt
end

然后在我的createScene内,frameUpdate()功能如下:

local function frameUpdate()


     local dt = getDeltaTime()

    wood5.rotation = wood5.rotation -(1*dt)
    wood6.rotation = wood6.rotation -(1*dt)

end
Runtime:addEventListener( "enterFrame", frameUpdate )

wood5和wood6分别在上面初始化,轮值为900

这里的问题是当我使用“下一个场景”按钮切换场景时。两个树林会旋转正常,但只要我点击“下一个”,“后退”或“重置”按钮,它就会显示错误并说“attempt to perform arithmetic on field 'rotation' (a nil value)”我尝试打印{{1}的值1}}和wood5.rotation,它们是第一次wood5.rotation90,但后来变成了巨大的负数。类似的东西:

0

。 .etc

1 个答案:

答案 0 :(得分:1)

在改变场景之前,请致电:

Runtime:removeEventListener( "enterFrame", frameUpdate )

并在函数内部检查对象是否存在:

if(wood5~=nil)then
wood5.rotation = wood5.rotation -(1*dt)
end

保持编码....................:)