【问题标题】:Corona / Lua / frustrating timer multiplicationCorona / Lua / 令人沮丧的计时器乘法
【发布时间】:2017-04-15 19:50:19
【问题描述】:

我正在使用基于 Lua 的 Corona SDK 构建手机游戏。直到现在我都不需要任何帮助,但这一次我似乎找不到原因,我已经找了好几个小时了。

这是计时器问题之一,在离开、移除和重新访问场景之后,在循环中生成的项目每次重新启动时都会相乘。更具体地说,根据我的 onCollision 函数,每次发生“禁止”碰撞时都会导致重新启动。

经过数小时的艰苦研究,我已经纠正了:

--onCollision 函数内的代码现在处于“开始”阶段, 这样就不会导致乘法了

--场景阶段也正确使用

--transitions 和 timers 都在重新启动前被取消

由于代码太长,您无法查看,我宁愿要求一些提示:

除了我已经提到的之外,您的想法可能会导致此类问题。

我感谢每一个答案!非常感谢。

【问题讨论】:

  • 如果您需要代码方面的帮助,请提供代码...
  • 很难说哪里出了问题。可能会检查您的事件侦听器。
  • 谢谢大家,我现在已经解决了这个问题。这是由于现场拆除不当造成的。我通过使用 removeHidden() 而不是 removeScene() 来纠正它。

标签: timer lua sdk duplicates coronasdk


【解决方案1】:

上面的cmets都是有效的,不看代码就很难诊断问题。

过去,我发现在处理碰撞时为所有对象命名非常有帮助,因此当发生碰撞时,我知道是什么对象导致了它,这对于调试目的非常有帮助。

您在如何启动场景和在场景结束时释放资源方面似乎存在问题。当场景离开并返回时,您可能想开始/停止物理,但没有代码我无法给出具体答案。

【讨论】:

  • 谢谢大家,我现在已经解决了这个问题。这是由于现场拆除不当造成的。我通过使用 removeHidden() 而不是 removeScene() 来纠正它。
猜你喜欢
  • 1970-01-01
  • 2012-12-17
  • 1970-01-01
  • 1970-01-01
  • 2013-01-05
  • 1970-01-01
  • 2011-04-03
  • 2015-11-23
  • 2013-01-03
相关资源
最近更新 更多