OStack程序员社区-中国程序员成长平台

标题: android - 在lua中旋转物理对象 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 17:10
标题: android - 在lua中旋转物理对象

我遇到的问题是旋转一个对象并移动到 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 在上面分别用旋转值 900 初始化。

这里的问题是当我使用“下一个场景”按钮切换场景时。两个木头可以很好地旋转,但是当我点击“下一步”、“返回”或“重置”按钮时,它会向我显示一个错误并说“尝试对字段'旋转'执行算术(a nil value)"我尝试打印 wood5.rotationwood5.rotation 的值,它们是 90 0 第一次,但后来它们变成了巨大的负数。类似的东西:

-3430.9887695313
-3520.9877929688

。 .etc



Best Answer-推荐答案


场景切换前,调用:

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