XNA で同じタイプの敵の衝突を検出する必要があります。
衝突が検出された場合、敵が向きを変えて反対方向に歩くようにしました。
すべてのインスタンスをリストに保存した場合、異なる (しかし同じ) タイプの敵が衝突したかどうかを検出するにはどうすればよいですか?
これは C# XNA にあります。
編集:「敵」と呼ばれるクラスに敵がいます。ゲーム内のすべての敵はこのクラスから作成されます。敵が衝突したかどうかを確認できるようにする必要があります。
編集2:
コードサンプルは次のとおりです。
// Fields.
private List<Enemy> enemies = new List<Enemy>();
// Add our enemies when we need to.
enemies.Add(new Enemy(this, position, spriteSet));
// Here is it's update method.
private void UpdateEnemies(GameTime gameTime)
{
foreach (Enemy enemy in enemies)
{
enemy.Update(gameTime);
// This code works because it's comparing the player.
if (enemy.BoundingRectangle.Intersects(Player.BoundingRectangle))
{
OnPlayerKilled(enemy);
}
// This code is always ture because enemy is enemy I can't figure out how to solve this.
if (enemy.BoundingRectangle.Intersects(enemy.BoundingRectangle))
{
// Make enemies turn... This if statement is the problem.
}
}