如何瞄准所有玩家而不是你自己

本文关键字:你自己 玩家 何瞄准 | 更新日期: 2023-09-27 18:19:16

在我的游戏中,玩家可以发射一种武器,这种武器会发射一种射弹,自动瞄准离某个物体最近的敌人。然而,我该如何阻止炮弹同时瞄准自己的玩家?是否有任何方法来标记所有其他球员与特定的标签,而离开我自己的球员与不同的标签?当游戏开始时,玩家被实例化为预制件。

如何瞄准所有玩家而不是你自己

在发射抛射物时,为射击它的玩家提供参考。然后,在计算最接近的球员时,检查最接近的球员是否与射门的球员相同。如果是,选第二个最接近的。

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();
    }
}