【发布时间】:2014-06-08 20:21:09
【问题描述】:
我将一些块预制件添加到游戏对象数组中:
公共游戏对象[]块;
每个预制件都有一个 BoxCollider2D、Script 和 Rigidbody2D 组件。但是当我尝试在场景中实例化预制件时,它似乎没有附加组件?
这是我实例化预制件的方式:
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < gridWidth; j++)
{
blockClone = Instantiate (blocks [Random.Range (0, blocks.Length)] as GameObject, new Vector3 (j, -i-2, 0f), transform.rotation) as GameObject;
}
}
我做错了什么?
【问题讨论】:
-
如果您在场景中编辑了预制件,请确保单击检查器选项卡顶部的 应用 按钮。如果您没有点击 Apply 按钮,与 prefab 不匹配的组件和变量将被加粗。按下“应用”按钮后,粗体字消失,因为现在与预制件匹配。
-
虽然与您的问题无关,但值得注意的是,使用
as与直接转换可能会产生意想不到的后果,除非您知道该功能。看到这个问题:stackoverflow.com/questions/132445/…