Измените массив Sprite на массив GameObject в Unity - PullRequest
0 голосов
/ 06 июня 2018

[РЕДАКТИРОВАТЬ]: выходное изображение текущего инспектора

Я начинаю с единицы и хочу преобразовать этот общедоступный массив спрайтов в общедоступный массив игровых объектов.Как бы я это сделал?

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 голосов
/ 08 июня 2018

если у вас есть префабы со спрайтами, которые вы хотите использовать, попробуйте изменить код:

this:

    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, поэтому я не проверял, работает ли он, но я думаю, что это должно,Пожалуйста, дайте мне знать, если это помогает или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...