我有一些块预制件,我添加到游戏对象数组中:
public GameObject [] blocks;
每个预制件都有一个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;
}
}
我究竟做错了什么?
1 回答
确保您的预制件实际更新为包含BoxCollider2D和Rigibody2D .
改变这一行:
至:
你不需要额外的
as GameObject
如果所有其他方法都失败了,您可以在运行时使用AddComponent.将它们附加到预制件上
这应该是你的最后一个选择,但在你做之前要仔细检查你的预制件 .