修改当前对象而不是预制

时间:2016-10-08 11:01:51

标签: unity3d unityscript unity5

我对团结真的很陌生,这是我的第一个项目。 我的问题是当我创建一个新的游戏对象时

  

public GameObject fancyName;

然后将我想要的预制件拖到脚本窗口上,如果我对fancyName进行任何更改,而不是修改我在屏幕上看到的内容,我将修改我的预制件... 我需要做些什么来修改Instantiate GameObject而不是预制?

1 个答案:

答案 0 :(得分:2)

这是一种预期的行为,因为fancyName包含对您的预制件的引用,因此您对“fancyName”所做的任何更改是对您的预制件的直接修改(还记得您将预制件拖放到此变量吗?)。

你应该实例化/克隆它:

var clone = (GameObject) Instantiate(fancyName);

然后

MakeChange(clone); // Do anything you want