2016-04-24 64 views
1

我想变换底部墙的位置。底部是用于碰撞的3D立方体。这是一个多维数据集和属性的图片。Unity多维数据集gameobject变换位置不变

enter image description here

上,您可以看到变换称为属性栏图像的右侧。我想通过脚本访问它并更改位置。这是我正在尝试使用的代码。

void Start() { 


    GameObject bottomWall = GameObject.Find("Bottom"); 
    Bottom bottomScript = bottomWall.GetComponent<Bottom>(); 
    bottomScript.wallPos.y = -Camera.main.orthographicSize * 1000; 
    bottomWall.transform.position.Set(1000, 100, 1000); 
    bottomWall.GetComponent<Transform>().position.Set(100, 100, 100); 
} 

当我这样做时没有任何反应。我似乎无法做到这一点,任何帮助,这是非常赞赏。

回答

4

Transform.position返回代替参考的Vector3副本。因此修改副本不会影响原始Vector3的位置。

Replace bottomWall.transform.position.Set(1000, 100, 1000); 

bottomWall.transform.position = new Vector3(100, 100, 100); 

不相关的问题

由于一个孩子,最好是使用Walls/ButtonFind功能这将告诉Unity寻找底部 GameObject仅在Walls层次结构中。当场景中有太多GameObjects时,这很快。

所以用GameObject bottomWall = GameObject.Find("Walls/Bottom");

+0

太棒了!谢谢! – Luke

+0

@Luke您欢迎。我更新了关于在一个子对象中寻找GameObject的答案。这对你将来会有所帮助。 – Programmer

+0

这非常有用,谢谢你! – Luke