簡體   English   中英

使用 1 個腳本根據標簽分配不同的值 - C# - Unity

[英]Using 1 script to assign different values based on tags - C# - Unity

我正在 Unity 3D 上制作游戲。 我有 1 個腳本,用於 2 個不同的角色(預制件)

所以我有一個叫做 Target 的變量

public Transform Target;

這個腳本傳遞給了 Hero 和 vilain。 我想要腳本讓英雄成為惡棍的目標,而惡棍則成為英雄的目標。 也許我可以用標簽來做??

幫助將不勝感激。

你可以做這樣的事情

if(Target.tag == "Hero"){
//hero Detected
}

或者

if(Target.tag == "Villan"){
//Villan Detected
}

假設你有一個腳本,附加到(英雄和維蘭)

 class xyz: MonoBehaviour{
    public Transform Target;
    void Start(){
         if(this.tag == "Villan"){
              //Villan Detected, assign hero
         }
         else if(this.tag == "Hero"){
             //Hero Detected, assign Villan
        }
   }
}

所以我找到了解決方案,非常簡單,但我花了一整天才弄明白,哈哈。

GameObject[] protagonistOpponent = GameObject.FindGameObjectsWithTag("Player");
        foreach (GameObject obst in protagonistOpponent)
            obst.GetComponent<User_Stats>().Target = FKManage.Enemy.transform;

        GameObject[] AntagonistOpponent = GameObject.FindGameObjectsWithTag("Enemy");
        foreach (GameObject obst in AntagonistOpponent)
            obst.GetComponent<User_Stats>().Target = FKManage.LocalPlayer.transform;

感謝所有試圖幫助我的人:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM