繁体   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