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