在我的游戏中,玩家可以发射一种武器,该武器会发射一个射弹,自动瞄准离某个物体最近的敌人。但是,我怎样才能阻止射弹也瞄准我自己的玩家?有没有办法给所有其他玩家贴上某个标签,同时给我自己的玩家贴上不同的标签?游戏开始时,玩家被实例化为预制件。
问问题
78 次
1 回答
1
发射弹丸时,请给它一个射击它的玩家的参考。然后,在计算最近的球员时,检查最近的球员是否与射门的球员相同。如果是,请选择第二个最接近的。
public class Projectile : MonoBehaviour
{
public Player player = null;
private Player target = null;
private Player GetClosestPlayer(IList listOfPlayers)
{
Player closestPlayer = ...; // use your algorithm method here
if (player != null && player == closestPlayer)
{
// copy listOfPlayers and remove closestPlayer from it
return GetClosestPlayer(copyOfListOfPlayersWithoutPreviousClosest);
}
return closestPlayer;
}
void Update()
{
if (target != null)
// steer to target
else
target = GetClosestPlayer();
}
}
于 2015-10-28T09:25:32.637 回答