我有一个游戏/物理原型,在 100 次中似乎有 99 次可以正常工作。但每隔一段时间,在关卡“重置”(当使用启动此操作时)时,玩家站在起点处会立即收集,这是我没想到的。此时物理已暂停,玩家身体也“不活动”,所以为什么会在重置阶段发生碰撞。
问题:在下面的“重置级别”代码阶段是否会发生冲突?想知道是否因为一切都是按顺序发生的,这是否可能是一个问题?本节的某些部分是否真的需要“performAfterDelay”。
-- PLAYER IN MOTION
2013-09-10 11:24:56.035 Corona Simulator[6677:707] Player.isBodyActive = true
-- COLLISION OCCURS
2013-09-10 11:24:57.453 Corona Simulator[6677:707] onPlayerCollision:began:
2013-09-10 11:24:57.453 Corona Simulator[6677:707] physics.removeBody(Player)
-- RESET LEVEL HIT (Get collision every so often on restart during this phase, but why?)
2013-09-10 11:25:01.644 Corona Simulator[6677:707] physics.pause()
2013-09-10 11:25:01.645 Corona Simulator[6677:707] physics.addBody( Player, "dynamic") -- add body back
2013-09-10 11:25:01.645 Corona Simulator[6677:707] Player.isBodyActive = false -- make inactive until after motion is started
2013-09-10 11:25:01.645 Corona Simulator[6677:707] physics.start()
我已经将代码与日志记录一起工作,以给出时间指示......