Среда, 25 Декабря 2024, 12:29

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Вопрос по GM
CUbeBДата: Воскресенье, 03 Февраля 2019, 14:21 | Сообщение # 1
частый гость
Сейчас нет на сайте
такая проблема - хочу сделать чтоб кагда игрок стоит вплотную к двери при нажатии кнопки E игрок переходил в другую комнату, но у меня не выходит.
вот код-
Код

В СТОЛКНОВЕНИЕ:
if keyboard_check(ord("E"))   {room_goto(room_loc005_704)}


Да да, на аватарке моя старая игра...
DimbotДата: Воскресенье, 03 Февраля 2019, 18:38 | Сообщение # 2
участник
Сейчас нет на сайте
Странно, попробуй keyboard_check_pressed
Еще проверь, происходит ли событие столкновения в принципе. Допустим пусть при столкновении сообщение вылезает на экран, или объект создается, чтоб увидеть можно было, ну либо дверь закрашивается цветом, исчезает, в общем индикация какая-то
CUbeBДата: Воскресенье, 03 Февраля 2019, 18:54 | Сообщение # 3
частый гость
Сейчас нет на сайте
Dimbot, не работает(

Добавлено (03 Февраля 2019, 19:05)
---------------------------------------------
само столкновение(


Да да, на аватарке моя старая игра...
RekerДата: Понедельник, 04 Февраля 2019, 07:13 | Сообщение # 4
почетный гость
Сейчас нет на сайте
CUbeB, а ты вообще хитбоксы сделал? Вроде при рисовке спрайта он автоматически не ставиться
CUbeBДата: Понедельник, 04 Февраля 2019, 11:35 | Сообщение # 5
частый гость
Сейчас нет на сайте
а что это такое? crazy

Да да, на аватарке моя старая игра...
RekerДата: Вторник, 05 Февраля 2019, 14:03 | Сообщение # 6
почетный гость
Сейчас нет на сайте
CUbeB, когда спрайт рисуешь, можешь выбрать его границы столкновения. Сказать точно сейчас не могу как называется.
martukДата: Вторник, 05 Февраля 2019, 14:31 | Сообщение # 7
заслуженный участник
Сейчас нет на сайте
Такой поход не эффективен. Один из вариантов, это считать расстояние до двери. Можно задать "Рабочий" диапазон и не будет требоваться вплотную к двери вставать.
spektor-xДата: Понедельник, 18 Марта 2019, 03:34 | Сообщение # 8
был не раз
Сейчас нет на сайте
Привет я не говорю что я прям ВАУ ГУРУ ПО game maker но вот моя точка зрения:

допустим у тебя есть:

o_hero ---- это обьект твоего персонажа и он имеет размер 64x64 пикселя, центр спрайта выставлен в левом верхнем углу
o_door ------ это твоя дверь тоже такие размеры как и у героя

lvl_5 ---- допустим это имя комнаты в которую нужно перейти

и так...

заходим в обьект o_hero , создаем событие Step и пишем скрипт

if (collision_rectangle(x,y,x+64,y+64,o_door,1,0)) and (keyboard_check(ord("F"))) //- если колизия Глав героя соприкасается с колизией Двери и нажата клавиша "F" То
{
room_goto(lvl_5) //переходим в комнату "lvl_5"
}
martukДата: Понедельник, 18 Марта 2019, 15:27 | Сообщение # 9
заслуженный участник
Сейчас нет на сайте
Предыдущий комментарий натолкнул меня на одну мысль. Поизучай про родительские объекты.
К примеру: у тебя на карте не одна дверь а несколько, не к каждой же ты двери будешь писать один и тот же код?
Создай объект-родитель дверь и задай его всем объектам.

Для лучшего понимания идеи, можно прибегнуть к базовым урокам GM про столкновения со стенами.
Легче создать основной объект стены (даже без спрайта вроде) и назначить его в качестве родителя всем стенам на уровне. Настраиваешь логику столкновения с одним объектом, и оно распространяется на все стены автоматом.
  • Страница 1 из 1
  • 1
Поиск:

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