Unity 2D - 通过脚本更改精灵不起作用

时间:2021-02-16 03:55:38

标签: unity3d sprite

我有多个图像,然后将它们推送到“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]);
        }
    }

1 个答案:

答案 0 :(得分:0)

在实例化后的游戏对象上设置精灵

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);
    }
}
相关问题