在实例化后,我试图作为另一个对象的孩子给出一个对象,但似乎什么也做不到,(您会发现我的文章是注释代码)。
void Update()
{
if (!isCreated)
{
if ( GameObject.Find("blue").GetComponent<Rigidbody2D>().velocity.magnitude == 0
&&(Time.time >1))
{
Instantiate (indice, new Vector3 (gameObject.transform.localPosition.x + 0.5f ,
gameObject.transform.localPosition.y + 2,
gameObject.transform.localPosition.z ),
Quaternion.identity);
Debug.Log (this.GetComponent<Item>().name.ToString());
//indice.SetActive(false);
//indice.transform.SetParent(this.GetComponent<Item>().transform, true);
indice.transform.SetParent(GameObject.Find(this.name.ToString()).transform, false);
//indice.transform.parent = gameObject.transform;
//indice.name = this.transform.name.ToString()+"ItemIndice";
// GameObject.Find(indice.name).SetActive(false);
isCreated=true;
gameObject.GetComponent<Rigidbody2D>().isKinematic = true;
gameObject.GetComponent<Collider2D>().isTrigger = true;
}
}
}发布于 2015-03-17 09:42:55
实例化新对象,但不分配它。您可以从Instantiate查看这里。
Instantiate (indice, new Vector3 (gameObject.transform.localPosition.x + 0.5f ,
gameObject.transform.localPosition.y + 2,
gameObject.transform.localPosition.z ),
Quaternion.identity);所以你可以用这个
GameObject newIndice = Instantiate (indice, new Vector3 (gameObject.transform.localPosition.x + 0.5f ,
gameObject.transform.localPosition.y + 2,
gameObject.transform.localPosition.z ),
Quaternion.identity) as GameObject;然后,可以将父对象设置为newIndice。喜欢
newIndice.transform.parent = gameObject.transform;https://stackoverflow.com/questions/29095485
复制相似问题