问题描述
我有多个图像,然后将它们推送到“Sprite[] sprites”中。 我创建了一个 gameobjectPrefab 并添加了 Rigidbody2d + Box Collider 2d + SpriteRenderer。 我想实例化游戏对象预制件的数量等于其他精灵的数量。 但它不起作用,请教我这个问题。精灵不会改变:
public Sprite[] sprites;
public GameObject diamondPrefab;
void Start()
{
CreateDiamondsListSprites();
}
void CreateDiamondsListSprites()
{
for (int i = 0; i < sprites.Length; i++)
{
var go = diamondPrefab;
go.GetComponent<SpriteRenderer>().sprite = sprites[i];
listAllDiamondsFromSpritesList.Add(go);
// Here is sample : i add to list<gameOject> to use later
Instantiate(listAllDiamondsFromSpritesList[index],listLocationPoint[index]);
}
}
解决方法
在实例化后的游戏对象上设置精灵
void CreateDiamondsListSprites()
{
for (int i = 0; i < sprites.Length; i++)
{
var go = Instantiate(diamondPrefab,listLocationPoint[index]);
go.GetComponent<SpriteRenderer>().sprite = sprites[i];
listAllDiamondsFromSpritesList.Add(go);
}
}