我对团结真的很陌生,这是我的第一个项目。 我的问题是当我创建一个新的游戏对象时
public GameObject fancyName;
然后将我想要的预制件拖到脚本窗口上,如果我对fancyName进行任何更改,而不是修改我在屏幕上看到的内容,我将修改我的预制件... 我需要做些什么来修改Instantiate GameObject而不是预制?
答案 0 :(得分:2)
这是一种预期的行为,因为fancyName
包含对您的预制件的引用,因此您对“fancyName”所做的任何更改是对您的预制件的直接修改(还记得您将预制件拖放到此变量吗?)。
你应该实例化/克隆它:
var clone = (GameObject) Instantiate(fancyName);
然后
MakeChange(clone); // Do anything you want