在Corona SDK中,我正在制作一个玩家可以驾驶汽车的应用程序。我有一个打印功能,当汽车有冲动时调用。
print("@",self.frames,virtual,self.animation.rotation,self.animation.angularDamping);
每秒约60次。当它取消注释时,汽车控制变得更加灵敏。在我看来,这是由调试时超支系统资源造成的。
我想留下print()的副作用,但不要浪费CPU。如果你知道当我试图在一个帧中放置太多动作时,低级代码中的Corona Simulator是什么,你能解释一下吗?
答案 0 :(得分: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
答案 1 :(得分:1)
我认为你假设你对系统资源征税是正确的。
也许您可以通过降低帧速率来实现类似的效果(如果您使用的是运行时功能)。无论您遇到什么问题,这似乎都是一种解决方法。您也可以使用每秒30次左右调用的游戏循环计时器,而不是使用运行时函数,并相应地进行调整。