Я немного новичок в Unity 2D, так что я не знаком с тем, что ограничения имеют структуры данных Vector3, но мне было интересно, если я мог бы хранить бескоординатному и не-пиксель/графический связанных с ним данных, как обычный массив.Какие типы данных могут быть сохранены в структуре Vector3 Unity Engine?
Некоторые справочную информацию: Делаю генератор подземелий 2D и хотел, чтобы хранить кодированные целые числа в каждом индексе основного массива Vector3 (с помощью двух вложенных циклов для), так что целые числа могут быть изменены с помощью каждый итеративный проход при создании подземелья. Затем окончательный макет возьмет кодированные целые числа и удалит индексированные данные, а вместо этого создаст правильную напольную или настенную плитку в этом месте.
коды будут:
- 000 = заполненный
- 010 = коридор
- 020 = дверь
- 030 = комнатная
- 100 = защищенный
- 001 - регион 1 [ основная]
- 002 - регион 2
- 003 - область 3,
т.д.
Таким образом, 32 представляет собой сетку кусок типа комнаты в регионе 2. Когда коридор соединяется с ним, становится 12. Когда две области подключения из коридора , он принимает нижнее из двух мест и так далее, пока вся сетка не будет заполнена 1 (подключена к основной области), после чего все они преобразуются в 0, чтобы указать, что подземелье готово для преобразования в текстуры , 100 - это специальный флаг, запускаемый при х> 99, чтобы обозначить, что блок должен оставаться заполненным, или случайно соединить комнаты или расширить дверные проемы.
Er ... ну, с точки зрения точных данных, которые вы можете сохранить в 'Vector3', это будет 3' float' значения. Независимо от того, соответствует ли вам ваши требования, как вы хотите разработать свою программу, хотя я бы предположил, что вы можете определить свой собственный класс для этого с более описательным именем. – Serlite
Не могу ли я хранить, скажем, строку «столба» в [3, 2, 5]? Или в случае Unity 2D, «3, 2, 0f»? Unity 2D использует целые числа для Vector3. Он принимает поплавки, но сетка имеет статическую ширину и высоту пикселя, которые устанавливаются в Инспекторе, для которых каждый индекс имеет X и Y пикселей от следующего. Для моих вложенных циклов я просто собирался использовать целые индексы. –
Если ваше требование состоит в том, чтобы хранить 3 родственных номера, тогда для вас будет работать 'Vector3'. Если вы пытаетесь связать строку с набором из трех чисел (которые, как вы знаете, уникальны), рассмотрите «Словарь». (И я не уверен, что вы подразумеваете под 'Vector3', используя' int' для своих координат, довольно уверен, что [документация] (http://docs.unity3d.com/ScriptReference/Vector3.html) не является двусмысленной на ' float'.) –
Serlite