Понедельник, 25 Ноября 2024, 23:30

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Редактор карт - автоматический маппинг
Quad69Дата: Воскресенье, 03 Апреля 2016, 14:48 | Сообщение # 1
заслуженный участник
Сейчас нет на сайте
Здравствуйте, я сейчас делаю редактор карт и столкнулся с не удобной проблемой.
У меня есть набор тайлов стены. 1 тайл стена идёт слева на право, второй тайл сверху в низ, третий из низа в вправо(угол) и т.д.
Как сделать что бы эти все тайлы сами менялись в нужных местах?
Игра TDS

Может где то есть пример?
В поиске ничего не нашёл.



Сообщение отредактировал maksim1221232 - Воскресенье, 03 Апреля 2016, 14:50
ИнтернетДата: Воскресенье, 03 Апреля 2016, 15:55 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Мммм что? Вообще самому менять. А так не понял, типо изометрия? Тут даже не понятно, что нужно проверять.
Quad69Дата: Воскресенье, 03 Апреля 2016, 16:25 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
Вид сверху
gryzДата: Воскресенье, 03 Апреля 2016, 17:11 | Сообщение # 4
частый гость
Сейчас нет на сайте
Я в гамаке не разбираюсь, но можно делать проверку ячеек, например если сверху и справа ячейки находятся элементы стены, то в этой ячейке создается угловая стена. Ну и по аналогии действуй дальше, суть думаю понял.
Fill_FreemanДата: Понедельник, 04 Апреля 2016, 13:45 | Сообщение # 5
почетный гость
Сейчас нет на сайте
Как я понял, ты делаешь именно редактор.

Я вижу тут два решения. Простое - это юзер берт нужный тайл и ставит куда надо. А дальше принцип "сам юзер - сам дурак". Т.е. если он сделал криво, то ты тут не причем.

Второй вариант посложнее, но изящнее. Если ты позволяешь быстро строить стену, т.е. провел линию - появилась стена, вторую провел - вторая. То тут логично то, что предложил gryz - пишешь скрипт, что каждый тайл стены проверяет с какой стороны у него еще есть стена, и соответственно выбирает нужный.

Еще добавлю: а зачем тебе 15 тайлов, если их можно вращать? вместо 2,3,10,11 - у тебя будет только 2 повернутый на 90, 180 и 270. Тоже самое с другими. Я, конечно, не силен в тайлах, но думаю такое можно сделать.


TLTДата: Понедельник, 04 Апреля 2016, 14:47 | Сообщение # 6
Сейчас нет на сайте
Объясни понятнее, нужно сделать флипинг тайлов от положения стены или что? Если так, то флип можно прописать даже на просчёт коллизий - положение стены проверяется наличием рядом других стен; либо ещё с относительностью прилегания и расположения.

Т.е. если к тайлу (или лучше использовать понятие макроблока) есть 2 касания снизу и справа, то он становится углом вида "Г", если к тайлу есть касания справа и сверху, то он становится углом вида "L", если к тайлу есть касания со всех четырех сторон, то он становится крестовиной вида "+" и т.д.

Т.е. прописываешь выбор тайла исходя из скрипта по проверке коллизий и определения относительного положения прилегающих блоков.


Дао, выраженное словами, не есть истинное Дао.
Quad69Дата: Вторник, 05 Апреля 2016, 15:07 | Сообщение # 7
заслуженный участник
Сейчас нет на сайте
Цитата Fill_Freeman ()
их можно вращать?

Тайлы вращать нельзя...

Цитата TLT ()
Т.е. прописываешь выбор тайла исходя из скрипта по проверке коллизий и определения относительного положения прилегающих блоков.

Пробовал так делать, но всё время получается по разному. То пол не ставится, то углы стен смотрят в другую сторону, то ещё что нибуть и так далее.

Вот что у меня получается - Скачать
Raven84Дата: Вторник, 05 Апреля 2016, 16:29 | Сообщение # 8
старожил
Сейчас нет на сайте
maksim1221232,
Цитата
Тайлы вращать нельзя...

Это еще почему?! Все можно.
К тому же у тебя под спойлером именно спрайты (я беру определения именно Game Maker'овские, там тайлы через бэкграунды делаются), а их тоже можно вращать.
Цитата
Пробовал так делать, но всё время получается по разному.

Значит "криво" код написал. Тебе привели пример алгоритма. Он по сути очень прост. Нужно просто учесть и прописать все варианты столкновений.
Я лично сам точно с такой же проблемой сталкивался раз и все получилось. Или ты хочешь, чтобы за тебя готовый код выкинули?
Цитата
Вот что у меня получается

Качают тут редко. Ты лучше приведи кусок кода в форуме, так тебе быстрее помогут. Сам качать тоже не хочу. Выставишь код, подскажу что исправить.


Super Knight Story (в разработке)
Idolzzz - игра доступна в Steam и Play Market
Oliver's Adventures in the Fairyland


Сообщение отредактировал Raven84 - Вторник, 05 Апреля 2016, 16:32
TLTДата: Вторник, 05 Апреля 2016, 22:03 | Сообщение # 9
Сейчас нет на сайте
У тебя всё верно, просто ты не прописал основные варианты фигур – см. скрин.

Прикрепления: 2934401.png (29.3 Kb)


Дао, выраженное словами, не есть истинное Дао.
  • Страница 1 из 1
  • 1
Поиск:

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