我正在尝试制作一个简单的游戏,其中有一群僵尸从屏幕顶部到底部。我希望每 5 秒出现一个新的僵尸,并且确实如此,但是每次出现新的僵尸时,前一个僵尸都会停止移动,并且碰撞对那个僵尸不起作用。有人可以帮助我理解这种行为以及让它按预期方式工作的最佳方法是什么?:) 这是我创建僵尸的地方:
private void CreateZombie()
{
zombieSprite = new CCSprite ("zombie");
zombieSprite.PositionX = CCRandom.GetRandomFloat (10, 600);
zombieSprite.PositionY = 1055;
AddChild (zombieSprite);
}
这是我的游戏逻辑方法中的代码:
void GameLogic (float frameTImeInSeconds) {
zombieYVelocity += frameTImeInSeconds * -gravity;
zombieSprite.PositionY += zombieYVelocity * frameTImeInSeconds;
if (timer % 5 == 0) {
CreateZombie ();
zombieYVelocity = 0;
}
}
我附上了一个屏幕截图,显示 每 5 秒添加一个新的时发生的情况,前一个停止,并且碰撞检测不再与停止的碰撞检测一起工作。