首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Transform.SetParent不能工作吗?

Transform.SetParent不能工作吗?
EN

Stack Overflow用户
提问于 2015-03-17 09:27:33
回答 1查看 3.8K关注 0票数 0

在实例化后,我试图作为另一个对象的孩子给出一个对象,但似乎什么也做不到,(您会发现我的文章是注释代码)。

代码语言:javascript
复制
 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;
            } 

        }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-17 09:42:55

实例化新对象,但不分配它。您可以从Instantiate查看这里

代码语言:javascript
复制
 Instantiate (indice, new Vector3 (gameObject.transform.localPosition.x + 0.5f ,
                                       gameObject.transform.localPosition.y + 2,
                                       gameObject.transform.localPosition.z ),
                                       Quaternion.identity);

所以你可以用这个

代码语言:javascript
复制
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。喜欢

代码语言:javascript
复制
newIndice.transform.parent = gameObject.transform;
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29095485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档