画面の上から下に向かってゾンビの大群がやってくるシンプルなゲームを作ろうとしています。新しいゾンビが 5 秒ごとに出現するようにしたいのですが、新しいゾンビが出現するたびに、前のゾンビの動きが止まり、コリジョンが機能しません。誰かがこの動作を理解するのを手伝ってくれますか?それを本来の方法で機能させるための最良の方法は何ですか? :) ゾンビを作成する場所は次のとおりです。
private void CreateZombie()
{
zombieSprite = new CCSprite ("zombie");
zombieSprite.PositionX = CCRandom.GetRandomFloat (10, 600);
zombieSprite.PositionY = 1055;
AddChild (zombieSprite);
}
これが私のgamelogicメソッド内のコードです:
void GameLogic (float frameTImeInSeconds) {
zombieYVelocity += frameTImeInSeconds * -gravity;
zombieSprite.PositionY += zombieYVelocity * frameTImeInSeconds;
if (timer % 5 == 0) {
CreateZombie ();
zombieYVelocity = 0;
}
}
新しいものが追加されると5秒ごとに何が起こっているかを示すスクリーンショットを添付し ました。前のものは停止し、停止したものでは衝突検出が機能しなくなります。