修复一系列游戏对象

时间:2018-06-09 12:42:46

标签: c# unity3d

我遇到了这个阵列的问题。我需要在检查器中设置gameobjects,但我遇到了renderer.gameobject的问题。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Obstacle : MonoBehaviour, IRecyle
{

public GameObject[] obstacles;

public void Restart()
{
    var renderer = GetComponent<GameObject>();
    renderer.gameObject = obstacles[Random.Range(0, obstacles.Length)];
}

public void Shutdown()
{

}
}

1 个答案:

答案 0 :(得分:0)

渲染器不是游戏对象。它们是组件。

GameObjects是Components的容器 - 一个GameObject拥有许多组件。

此行无效(GameObjects不是组件!):

create trigger insert_t1
    after insert  on t1 for each row
    begin

    /*insert into t2; */

    end;

您不应该设置组件的//Invalid! var renderer = GetComponent<GameObject>(); 属性!这将神奇地将Component附加到新的gameObject:

gameObject

相反:

//Don't do this!!
renderer.gameObject = someGameObject