如何在团结c#中转换2个变量gameobject类型?

时间:2017-05-12 16:55:39

标签: c# unity3d

if (rotateInProgres) {
    //parent.transform.Rotate (0, 90, 0);
    parent.transform.rotation = Quaternion.Lerp(parent.transform.rotation, r, 5 * Time.deltaTime);
    transfer = cube6.transform.gameObject;
    transfer2= cube3.transform.gameObject;
    cube3.transform.gameObject = transfer.gameObject;
    rotateInProgres = false;
}

我想转置,但我在第7行cube3.transform.gameObject = transfer.gameObject;

中有错误

1 个答案:

答案 0 :(得分:1)

GameObjects是" top"这里的对象层次结构。您无法更改变换的gameObject字段,因为该字段指的是附加到的GameObject,您无法在不破坏游戏对象的情况下从游戏对象中分离该组件。 / p>

如果您想制作两个GameObjects 切换位置,则需要更改其trasnform.position属性:

    Vector3 transfer_pos = cube6.transform.position;
    Vector3 transfer2_pos = cube3.transform.position;
    cube3.transform.position = transfer_pos;
    cube6.transform.position = transfer2_pos;