[英]Unity 2D Instaniate prefab with text
我是Unity3D的新手,正在寻找一些基本信息。 我已经习惯了面向对象编程,但是我不太明白如何从脚本访问对象。
我创建了一个对象,使其成为预制件(多次使用的计划),并且该对象上带有文本。 文本使用文本网格。 我正在使用C#。
我确定有些简单的事情我不会讲。 只是很难理解如何将代码连接到对象,反之亦然。
更新:还想指出的是,如果尝试在答案中有所不同,我将尝试在开始时加载多个对象。
Update2:只是想解释一下将单声道代码绑定到unity接口时缺少的哪些信息。
在Unity中:
创建任何对象并将其变成预制件。 创建了第二个空游戏对象,将其放置在游戏视图区域中的某个位置。 在Empty游戏对象上创建了一个脚本。
在Mono代码编辑器中:
创建了2个公共变量(C#)
public GameObject spawnObj;
public GameObject spawnPoint;
void Update () {
Instantiate (this.spawnObj, this.spawnPoint.transform.position, this.spawnPoint.transform.rotation);
}
回到Unity:
选择“空游戏对象”。 在脚本Component中,您应该看到2个变量。 将您的Prefab Object拖入var spawnObj。 将Empty游戏对象拖到var spawnPoint中。
我这样做是为了更新,而不是明智的做法,但是它产生了一个多维数据集或2个或更多,我想理解的就是从代码产生。
AD1:是GameObject.Instantiate
:
var go=GameObject.Instantiate(prefab, Vector3.zero, Quaternion.Identity) as GameObject;
预制是类似于资产的GameObject,用作场景GameObjects的模板。
要使用预制件,您必须将GameObject拖到项目窗口中,并以两种方式之一在代码中引用它:
使用资源, var prefab=Resources.Load("my-prefab")
将加载项目文件Resources/my-prefab
。 请注意使用特殊的“资源”目录-这是必需的魔术名称。
使用参考,在MonoBehaviour
添加一个public GameObject prefab
字段。 然后,在使用此类的GameObject上,您可以将预制件从项目窗口中拖放以创建对其的引用。 然后,您可以在代码中使用prefab
字段。 此处无需“资源”目录。
首选选项2,因为所有资源都位于最终二进制文件中,而普通资产在可能的情况下会被裁剪。
AD2:获取TextMesh
组件并修改text
:
go.GetComponent<TextMesh>().text="new text";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.