将Sprite数组更改为Unity中的GameObject数组

时间:2018-06-06 16:56:47

标签: c# unity3d

[编辑]:current inspector output image

我以团结开始,我想将这个公共精灵数组转换为公共的游戏对象数组。我该怎么做?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Obstacle : MonoBehaviour, IRecyle 
{

    public Sprite[] sprites;

    public void Restart()
    {
        var renderer = GetComponent<SpriteRenderer>();
        renderer.sprite = sprites[Random.Range(0, sprites.Length)];        
    }

    public void Shutdown()
    {

    }
}

1 个答案:

答案 0 :(得分:0)

如果您有想要使用的精灵的预制件,请尝试更改您的代码:

这样:

    public Sprite[] sprites;

到此:

    public GameObject[] spriteGameObjects;`

还有这个:

renderer.sprite = sprites[Random.Range(0, sprites.Length)];

到此:

renderer.sprite = spritesGameObjects[Random.Range(0, spritesGameObjects.Length)]
.GetComponent<SpriteRenderer>().sprite;

我现在无法访问Unity,所以我还没有检查它是否有效,但我认为应该这样做。 如果这有帮助,请告诉我。