我遇到的问题是旋转一个对象并移动到 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
场景切换前,调用:
Runtime:removeEventListener( "enterFrame", frameUpdate )
在你的函数中,检查对象是否存在:
if(wood5~=nil)then
wood5.rotation = wood5.rotation -(1*dt)
end
继续编码........
关于android - 在lua中旋转物理对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20591025/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |