【发布时间】:2014-01-02 16:03:55
【问题描述】:
我遇到的问题是旋转一个对象并移动到 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 初始化。
这里的问题是当我使用“下一个场景”按钮切换场景时。两个树林可以很好地旋转,但是当我点击“下一步”、“返回”或“重置”按钮时,它会显示一个错误并显示“attempt to perform arithmetic on field 'rotation' (a nil value)”我尝试打印wood5.rotation 的值和wood5.rotation,第一次是90和0,后来变成了巨大的负数。类似的东西:
-3430.9887695313
-3520.9877929688
。 .etc
【问题讨论】:
-
显示初始化木材旋转场的代码;这段代码没有被执行。或者,您的代码中某处有一个
wood5.rotation = something(其中something不是指wood5.rotation),而某事为零。我对Corona不熟悉,“下一个”是否与“下一个场景”相同,“后退”是前一个场景,“重置”是第一个场景?每次切换场景时都会执行一些代码吗?如果是这样,也显示该代码,这是关键。
标签: android ios lua rotation coronasdk