Unity不喜欢这个,也不喜欢研究和团结的警告
(“您正在尝试使用'new'关键字创建MonoBehavior。这是不允许的.MonoBehaviours只能使用AddComponent()添加。或者您的脚本可以继承ScriptableObject或根本没有基类。)< / p>
我知道AddComponent,但我不认为这就是我想要的。
public Boids boids = new Boids();
Boids是我的第二堂课。我在一个教程上看到了这个工作,所以我很困惑为什么这在Monodevelop中不起作用。
答案 0 :(得分:1)
很容易谷歌......
这与Boids继承的内容有关。新的显然不是实例化对象的正确方法,它应该使用统一框架
进行实例化gameObject.AddComponent<Boids>()
答案 1 :(得分:0)
如果我理解正确,你需要你的AI脚本来获取场景中的所有Boid实例并对它们做些什么。
如果是这种情况,那么有多种方法可以做到这一点,一种简单的方法是:
public Boids[] boids
字段以下是一些示例脚本:
public class AI : MonoBehaviour
{
public Boid[] boids;
void Update()
{
foreach (Boid boid in this.boids)
{
// Do something with boid
}
}
}
public class Boid : MonoBehaviour
{
public float searchRadius;
// Anything else
}