Среда, 13 Ноября 2024, 13:50

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Враг, комната и привязка.
FоzzieДата: Воскресенье, 18 Мая 2014, 09:17 | Сообщение # 1
Король Гопов
Сейчас нет на сайте
Доброго времени суток! Возникли некие сложности в постройке игры, и надеюсь мне помогут с этими сложностями.
И так вот несколько вопросов:
1. Реализация вражеского юнита.
В принципе я хочу получить врага который будет атаковать главного героя толчками.
По такой схеме:
- Враг ищет героя в радиусе например 6 клеток (32х32)
- Если есть герой в радиусе, то идёт целенаправленно к герою.
- Дойдя до героя, он должен ударить, и оттолкнуться от него в момент удара на небольшое растояние (хотя
бы на одну-две клетку.
2. Переход в другую комнату не теряя героя, переменных и оказаться в нужном месте.
Суть проста.
Например: Главный герой идёт вверх,сталкивается с объектом чтобы попасть в следующую комнату. Героя нет.
Значит и переменных тоже.
Ставя объект героя постоянным, в комнату он попадает, переменные есть, но оказывается он также на верху,
хотя надо быть внизу. (способ с перемещением героя не прокатит).

Перемещение должно быть как в RPG играх.

3. Привязка объекта без лишних передвижений.
Вот это мне кажеться самая интересная сложность. Мы привяжем объект к виду (например картинку), в
настройках комнаты ставим слежение камеры за игроком (следовать за игроком), делаем комнату побольше,
проверяем! Что мы видим когда камера следит за игроком? Видим как ходит на 1-2 пикселя наш привязанный к
виду объект. Как это вообще устранить?

Пока вроде вопросов никаких нету больше. Надеюсь поможете. Заранее благодарен за Вашу помощь happy




Сообщение отредактировал Fоzzie - Воскресенье, 18 Мая 2014, 09:19
XDominatorДата: Понедельник, 19 Мая 2014, 13:37 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
ладно, попробую помочь. Начну со второго вопроса. Есть 2 варианта.
1)твой игрок - объект с флагом persistent. Это значит что он существует независимо от комнаты. У объектов в списке events - others есть пункт - "room starts". Ивент выполняется в момент перехода в новую комнату, и создан как раз для ситуаций типа твоей. Собственно, в него вставляешь код по типу такого:

[code]
switch(room)
{
case room1:
//do something
break;

case room2:
//do something
break;
}

соответственно room1 room2 ... roomN - твои названия комнат. Ну а вместо //do something нужно подставить новые координаты. Но в твоем случае еще я так понимаю нужно дополнительно проверять через какую дверь вошел игрок - слева или справа, сверху или снизу - но это думаю уже сам разберешься.

2)Твой объект не постоянный. В том же other в events есть room ends - выполняется при выходе из комнаты. Сохраняешь в нем при выходе в виде какой-то структуры все нужные данные игрока, а в create их считаешь. Соответствено координаты выставляются в редакторе комнаты методом размещения объекта. Способ гораздо хуже чем первый, если честно.

По третьему вопросу - в настройках камеры в комнате, есть 2 поля, которые отвечают за смещение объекта к краям экрана, после чего собственно камера приводится в движение. Если мне не изменяет память, то эти 2 значения нужно установить в размеры, большие чем половина соответствующего размера комнаты. Вроде как то так smile Сейчас нету гмс перед глазами, так что точно не скажу.

Насчет первого вопроса - все это делается примитивными алгоритмами и вычислениями, но система получается многоходовая, так что вот так взять и написать здесь тебе все что для этого нужно, с учетом всех нюансов - врядли кто то станет. Зато для тебя станет отличной тренировкой. Так что лучше сделай это сам, поверь, никаких супер-сложных функций там тебе нужно не будет smile


Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
Com-LanДата: Четверг, 22 Мая 2014, 11:27 | Сообщение # 3
частый гость
Сейчас нет на сайте
в create zombi


в step zombi


в draw zombi


Сайти по GM
gamemaker.clan.su
Игры
hero.at.ua
  • Страница 1 из 1
  • 1
Поиск:

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