我正在尝试检测敌人对象列表上的碰撞,但它仅适用于最后创建的对象。我都试过了:
for (int i = 0; i < enemies.Count; i++)
{
if (IntersectsPixel(player.rectangle, player.textureData, enemies[i].rectangle, enemies[i].textureData))
{
touched = true;
}
else
{
touched = false;
}
}
和 :
foreach (Enemy enemy in enemies)
{
if (IntersectsPixel(player.rectangle, player.textureData, enemy.rectangle, enemy.textureData))
{
touched = true;
}
else
{
touched = false;
}
}
我将两者都放入 Update 方法中。每隔几秒钟就会创建一次敌人,所以我知道检测有效,但是一旦下一个出现,最后一个就会停止工作......