gpt4 book ai didi

android - 在lua中旋转一个物理对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:37:55 24 4
gpt4 key购买 nike

我遇到的问题是旋转一个对象并移动到 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 初始化。

这里的问题是当我使用“下一场景”按钮切换场景时。这两个木头会很好地旋转,但是当我点击“下一步”、“后退”或“重置”按钮时,它会显示错误并显示“attempt to perform arithmetic on field 'rotation' (a nil value)"我尝试打印 wood5.rotationwood5.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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com