2013-03-26 76 views
2

在Corona SDK中,我正在制作一个可以让玩家驾驶汽车的应用程序。我有一个打印功能,当汽车冲动时会被调用。调试更改其他代码。 Corona SDK

print("@",self.frames,virtual,self.animation.rotation,self.animation.angularDamping); 

大约每秒60次。当它没有注释时,汽车控制变得更加敏感。在我看来,这是由调试系统资源超支引起的。

我想留下print()的副作用,但不要浪费CPU。如果你知道在低级代码中Corona Simulator是什么,当我尝试在一帧中放置太多动作时,你能解释一下吗?

回答

1

我想你是正确的假设,你正在征税的系统资源。

也许你可以通过降低帧率(如果使用运行时功能)来达到类似的效果。这似乎是一个解决方案,无论你的真正问题是什么。您也可以使用每秒调用30次的游戏循环计时器来代替使用运行时功能,并相应地进行调整。

1

如何创建一个将包含所有调试数据的表。然后您可以放置​​一个计时器,它将每x秒将数据打印到终端,或者您可以将其写入文件。

data = {} 

function onEveryFrame() 

    data[#data + 1] = { } 
    data.frames = self.frames 
    data.virtual = virtual 
    data.rotation = self.animation.angularDamping 
    data.angularDamping = self.animation.angularDamping 

end 

function calledByTimerEveryXSeconds() 

// print data table here 

end