我刚刚开始学习使用统一,到目前为止,我已经设法解决了我遇到的问题。我试着不发邮件,但找不到我要找的东西。
在我的游戏中,我有一台机器可以改变玩家的精灵。我想在多台机器上使用相同的脚本。其思想是检测游戏对象(机器),并相应地改变精灵。例如,脚本检测到它是绿色机器,并将精灵更改为绿色,或者检测到它是红色机器,并将精灵更改为红色。
我希望我说得很清楚。我倾向于把事情复杂化..。
发布于 2022-07-07 17:49:46
您需要创建一些东西来区分不同类型的GameObjects。这样做的一种方法是在每个GameObject上附加一个脚本(单行为),并为其颜色提供一个公共变量。例如:
public string color;
您将看到该选项将显示在具有脚本的任何游戏对象的编辑器中。现在你可以用相同的脚本给每个物体一个不同的颜色。您现在可以访问它并使用它来确定发生了什么。
if (color = "green") { }
要从不同的脚本访问它,请获取对象并使用以下内容:
x.GetComponent<TheNameOfYourScript>().color
如果您需要获得脚本附加到的GameObject的引用(不是类型,而是特定的类型),您可以使用术语"gameObject“,例如:
return gameObject;
我希望这能帮到你。
https://stackoverflow.com/questions/72899698
复制相似问题