调试修改其他代码。Corona SDK。

在 Corona SDK 中,我正在制作一个应用程序,玩家可以驾驶汽车。当汽车受到推力时,我有一个打印函数被调用。

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

大约每秒钟调用60次。当取消注释时,车辆控制变得更加敏感。我觉得这是由于在调试上浪费了系统资源所致。

我希望保留print()的副作用,但不浪费CPU资源。如果您知道当我尝试在一个帧中放置太多操作时,Corona模拟器在低级别代码上做了什么,请解释一下。

点赞
用户1502079
用户1502079

将所有调试数据放在一个表格中,然后您可以设置一个定时器,在每 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()

// 在此处打印数据表格

end
2013-05-04 22:49:49
用户2333874
用户2333874

我认为你的假设是正确的,你正在耗费系统资源。

也许你可以通过降低帧率(如果你正在使用运行时函数的话)来实现类似的效果。这似乎是解决你真正问题的一种变通方法。除了使用运行时函数外,你还可以使用一个游戏循环定时器,每秒调用 30 次左右,并相应地进行调整。

2013-05-23 00:30:17