Понедельник, 11 Ноября 2024, 01:37

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Связь локаций на карте мира
alexsilentДата: Воскресенье, 09 Ноября 2014, 09:49 | Сообщение # 1
почти ветеран
Сейчас нет на сайте
Приветствую друзья!
Нужно придумать карту мира в стиле марио, требуется соединить локации между собой, чтобы открывались те локации, что я прошёл,
и соседние локации, хочу сделать много локаций, так что нужен удобный интерфейс чтобы соединять локации между собой очень быстро,
и не запутаться случайно. То есть нужно сделать интерфейс соединения локаций между собой, чтобы каждая локация знала своего соседа.

Какие есть варианты решения такой задачи, мне как дизайнеру не всегда понятно, как строить логику?!

Я пока придумал сделать 4 переменных GameObject: north, south, west, east и каждой отдельно обозначать своего соседа вручную,
но это жуткий труд и могу, кое-где запутаться и случайно не того соседа выбрать, и много много рутины.
daunДата: Воскресенье, 09 Ноября 2014, 10:52 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Виртуальный мир имеет координаты, зная свое место положения перейти к соседу как два пальца...
ArtanielДата: Воскресенье, 09 Ноября 2014, 11:54 | Сообщение # 3
частый гость
Сейчас нет на сайте
В целом согласен с предыдущим оратором. Немного уточню.
делаем массив ссылок, 2-мерный (C#)
Код
int maxX = 100;//или сколько там надо
int maxY = 100;
GameObject[,] World = new GameObject[maxX,maxY];

создавая или как то инициируя локацию заносим ее в этот массив.
Если персонаж находится в локации с координатами X, Y и хочет пойти на север - переходит в локацию World[X,Y+1]. На запад - World[X-1,Y]. Остальное соответственно.
Можно проверять World[X+1,Y]==null, если будет true - локации нету.
Плюс стоит проверить границы массива.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг