[英]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.