0
我正在做一个应用程序,改变了几个游戏对象,代码工作正常,除了cuadro.transform.GetChild(current).transform.position = new Vector3(0,0 ,0)将我的对象在Z轴上移动300个单位(父GO的相同位置)Unity transform.translate移动x也移动z
为什么会发生这种情况?
public class ChangePaintScript : MonoBehaviour
{
public GameObject cuadro;
private int total;
private int current = 0;
private bool changing = false;
// Use this for initialization
void Start ()
{
total = cuadro.transform.childCount;
}
// Update is called once per frame
void Update ()
{
if (Input.GetKeyDown(KeyCode.Space) || changing)
{
changing = true;
}
if (changing)
{
cuadro.transform.GetChild(current).Translate(new Vector3 (-1500, 0, 0) * Time.deltaTime);
if (Mathf.Abs(cuadro.transform.GetChild(current).transform.position.x) > 400)
{
changing = false;
cuadro.transform.GetChild(current).gameObject.SetActive(false);
cuadro.transform.GetChild(current).transform.position = new Vector3 (0, 0, 0);
current++;
current %= total;
cuadro.transform.GetChild(current).gameObject.SetActive(true);
}
}
}
}
感谢您的帮助!
cuadro.transform.GetChild(current)= vector3.zero对不对? –
所以你面临的问题是孩子的移动方式与父母相同吗? –
@ Chico3001 cuadro gameobject的位置是什么? – ZayedUpal