unity, 动态创建节点时一定要先指定父节点再设置transform

来源:互联网 发布:java转义代码 编辑:程序博客网 时间:2024/06/10 20:21

如下,设置transform的代码必须放在node.transform.parent=transform之后。否则设置将不生效。

     GameObject node = new GameObject ();
node.name=”myNode”;
node.transform.parent = transform;
node.transform.localScale = new Vector3 (1, 1, 1);
node.transform.localPosition = new Vector3 (0, 0, 0);
node.transform.localRotation = Quaternion.identity;

更新(2015-8-7):

细看了一下,控制台有个warning:

Parent of RectTransform is being set with parent property. Consider using the SetParent method instead, with the worldPositionStays argument set to false. This will retain local orientation and scale rather than world orientation and scale, which can prevent common UI scaling issues.

所以,应该写成下面这样才是标准的:

     GameObject node = new GameObject ();
node.name=”myNode”;
node.transform.SetParent(transform,false);
node.transform.localScale = new Vector3 (1, 1, 1);
node.transform.localPosition = new Vector3 (0, 0, 0);
node.transform.localRotation = Quaternion.identity;

0 0
原创粉丝点击