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