2017-06-03 29 views
0

这是我的代码当创建游戏对象的立场是错误的

GameObject tocreate = new GameObject ("newsstory1"); 
    tocreate.AddComponent<SpriteRenderer>(); 
    tocreate.GetComponent<SpriteRenderer>().sprite = newsbuilten; 

    tocreate.transform.parent = notifcationparents.transform; 
    tocreate.transform.localScale = new Vector3 (6, 6, 0); 
    tocreate.transform.position = new Vector3 (80, 18 ,5); 

我的问题是,当我运行这个游戏的目标是在错误的位置;这里是图像

All help is appreciated!

+0

位置是相对于'transform.parent'也许? 'notificationparents.transform'对象有什么绝对的位置? –

+0

0,0,0是向量3的位置 –

回答

1

这是正常的。不要担心你在编辑器中看到的位置。这是因为你正在设置父GameObject。

假设父对象(notifcationparents)在的位置:

51030

然后创建一个新的游戏对象命名“newsstory1”并设置其位置:

80185

这个新的游戏对象将移动到该位置,但是你会看到:

758-25

其在编辑器中的位置,因为这就是(80185-510,30)。你只是看到一个相对于其父GameObject的位置。如果没有父GameObject,则不会发生这种情况。

1

请勿使用transform.parent,而应使用transform.SetParent()。 另外,首先设置游戏对象的位置,然后使用transform.SetParent(parent,true)设置它的父级。

相关问题