我遇到的问题是旋转一个对象并移动到 lua 中的下一个场景。
我有一个返回增量时间的函数,如下所示:
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 在上面分别用旋转值 90 和 0 初始化。
这里的问题是当我使用“下一个场景”按钮切换场景时。两个木头可以很好地旋转,但是当我点击“下一步”、“返回”或“重置”按钮时,它会向我显示一个错误并说“尝试对字段'旋转'执行算术(a nil value) "我尝试打印 wood5.rotation 和 wood5.rotation 的值,它们是 90 和 0 第一次,但后来它们变成了巨大的负数。类似的东西:
-3430.9887695313
-3520.9877929688
。
.etc
Best Answer-推荐答案 strong>
场景切换前,调用:
Runtime:removeEventListener( "enterFrame", frameUpdate )
在你的函数中,检查对象是否存在:
if(wood5~=nil)then
wood5.rotation = wood5.rotation -(1*dt)
end
继续编码........
关于android - 在lua中旋转物理对象,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/20591025/
|