Unity C#: рендеринг группы спрайтов? - PullRequest
0 голосов
/ 17 марта 2020

Итак, я создал объект под названием «Плитка», который содержит некоторые свойства, такие как «is Solid» et c. Затем я обратился к базовым c спрайтам "Воздух" и "Песок", которые я включил в сценарий плитки. Теперь я хочу сделать следующее; У меня есть скрипт, который содержит двумерный массив «Tile [,] map = new Tile [30,100];», и в процедуре Start () я заполнил каждый элемент песочной плиткой. Теперь у меня возник следующий вопрос: как поставить 2000 спрайтов на экран? Позже я просто нарисую поле 20х10 в зависимости от позиции игроков, но как я могу наиболее эффективно нарисовать группу спрайтов? Есть ли способ, которым я могу сделать какое-то пакетирование, чтобы я мог просто создавать экземпляры для каждого нового спрайта каждый вызов Update (), который содержит каждый спрайт, который я хочу нарисовать, или как бы я это сделал?


public class WorldGenerator : MonoBehaviour
{
    public int Width = 100;
    public int Height = 20;

    public Tile t1_Air;
    public Tile t2_Sand;

    public string csvMap;
    readonly int offset = 1;

    Tile[,] map = new Tile[20, 100];

    // Start is called before the first frame update
    void Start()
    {
        for(int x = 0; x < Width; x++)
        {
            for(int y = 0; y < Height; y++)
            {
                if (y < 10)
                    map[x, y] = t2_Sand;
                else map[x, y] = t1_Air;                  
            }
        }
    }

    // Update is called once per frame
    void Update()
    {
        //draw the tiles held in the map here
    }
}

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