【发布时间】:2017-08-28 18:40:21
【问题描述】:
我在 Unity 中有这个 C# 代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Test : MonoBehaviour {
//public GameObject Button;
public Transform Button;
public int rows;
public int columns;
// Use this for initialization
void Start () {
int i = 0;
int x = 0;
int y = 0;
for (i = 0; i < columns; i++) {
x = 170 * rows;
y = -170 * columns;
Transform newButton = (Transform)Instantiate (Button, new Vector3(0,0,0), Quaternion.identity);
newButton.parent = gameObject.transform;
newButton.transform.localScale = new Vector3 (1, 1, 1);
newButton.transform.parent = GameObject.Find ("Canvas").transform;
}
}
}
当它在克隆按钮并转换为画布时,newButton 的位置也在变化和缩放。我该怎么办?
【问题讨论】:
-
查看副本,如果这不起作用,请告诉我,以便我快速重新打开它。 Unity 版本的行为有所不同,但您应该将
false传递给SetParent函数。 -
好的,我现在试试
-
这行得通吗?只是想确定一下。如果不解释哪个部分不起作用。
-
newButton.GetComponent<RectTransorm>().anchoredPosition3D = new Vector2(x,y);这部分我加了它不识别,RectTransform和anchoredposition是红色的 -
这似乎是另一个问题......你说的不认识它和是红色的是什么意思?您可以编辑您的问题以添加更多信息和屏幕截图。
标签: c# unity3d canvas position scale