コード例 #1
0
ファイル: Collisions.cs プロジェクト: sigod/xna-invaders
        public static void BetweenPlayerAndInvaders(Player player,
            List<Invader> invaders)
        {
            Rectangle playerRec = player.GetRectangle();

            for (int i = invaders.Count - 1; i >= 0; i--)
            {
                if (playerRec.Intersects(invaders[i].GetRectangle()))
                {
                    player.Health -= invaders[i].Damage;
                    player.Score += invaders[i].ScoreValue;
                    invaders[i].Health = 0;
                    // Explosion?
                    invaders.RemoveAt(i);
                }
            }
        }
コード例 #2
0
ファイル: Collisions.cs プロジェクト: sigod/xna-invaders
        public static void BetweenPlayerAndInvadersBullets(Player player,
            List<Bullet> bullets)
        {
            Rectangle playerRec = player.GetRectangle();

            for (int i = bullets.Count - 1; i >= 0; i--)
            {
                if (playerRec.Intersects(bullets[i].GetRectangle()))
                {
                    player.Health -= bullets[i].Damage;
                    bullets[i].Active = false;
                    bullets.RemoveAt(i);
                }
            }
        }