Проблема перехода в нутри Room_*
| |
Sergey_Kyk | Дата: Воскресенье, 29 Октября 2017, 17:24 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Как сделать переход между двумя координатами в одной комнате GMS2,(много будет пар переходов с маленькой задержкой в комнате )? , (не переход между комнатами)
ГГ встает на зону варпа,игрок нажимает например "Е" и переходит 2 сек, появляется в новой точке.
|
|
| |
maker-rus | Дата: Воскресенье, 29 Октября 2017, 19:56 | Сообщение # 2 |
Гений
Сейчас нет на сайте
| Sergey_Kyk, так меняй координаты ГГ и камеры, что за ним следит на те, которые нужно, что трудного?
|
|
| |
Sergey_Kyk | Дата: Воскресенье, 29 Октября 2017, 22:56 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| maker-rus, Не могу понять как написать код step ГГ:
Код key_u = keyboard_check(vk_up){ if place_meeting(x,y, obj_door) { x= obj_player.x y= obj_player.y }
как связать координаты двух obj_door в комнате
|
|
| |
nekroo98 | Дата: Понедельник, 30 Октября 2017, 09:02 | Сообщение # 4 |
почетный гость
Сейчас нет на сайте
| Цитата как связать координаты двух obj_door в комнате Sergey_Kyk, не понятно, что именно ты хочешь, объясни нормально.
И в коде, вангую, надо прописать
Код obj_player.x=xxx obj_player.y=yyy где xxx и yyy - координаты куда надо переместиться
и код этот не в степе, а в событии "Кнопка отпущена"
Сообщение отредактировал nekroo98 - Понедельник, 30 Октября 2017, 15:21 |
|
| |
Sergey_Kyk | Дата: Понедельник, 30 Октября 2017, 17:41 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| nekroo98,игрок встает на зону obj_door x/y/ ,игрок нажимает например "Е" и переходит 2 сек, появляется во второй зоне obj_door x/y/ .
(проще говоря телепорт туда обратно, но комнате их много)
|
|
| |
AAAlex | Дата: Понедельник, 30 Октября 2017, 18:59 | Сообщение # 6 |
частый гость
Сейчас нет на сайте
| Sergey_Kyk, Напишу по русски. Да и гм не знаю почти :) Событие - кнопка Е нажата. Далее проверяем: если игрок.х == такая-то_дверь.х И игрок.у == такая-то_дверь.у То делаем вот что: задержка 2 секунды, игрок.х = другая_дверь.х, игрок.у = другая_дверь.у Иначе: показать_строку("игрок_не_в_зоне_двери") # если нужно # Не знаю ЯП в Game maker, но примерно так. Поправьте, кто знает. Найти событие: "Нужная клавиша нажата", туда написать примерно такой код.
Код if obj_player.x == obj_door_1.x and obj_player.y == obj_door_1.y # если координаты игрока совпадают с координатами двери Один Then delay(2000) obj_player.x = obj_door_2.x obj_player.y = obj_door_2.y # Назначить игроку координаты двери Два Else printstring("игрок_не_в_зоне_двери") # вывод сообщения, что условие не верно.
Если дверей несколько и/или не известно сколько их вообще, то вместо obj_door_1 и obj_door_2 ставится переменная, которая меняет значение когда тебе нужно. а следовательно координаты двери тоже будут меняться.
Сообщение отредактировал AAAlex - Понедельник, 30 Октября 2017, 19:07 |
|
| |
nekroo98 | Дата: Среда, 01 Ноября 2017, 14:22 | Сообщение # 7 |
почетный гость
Сейчас нет на сайте
| Цитата Sergey_Kyk ( ) nekroo98,игрок встает на зону obj_door x/y/ ,игрок нажимает например "Е" и переходит 2 сек, появляется во второй зоне obj_door x/y/ .
(проще говоря телепорт туда обратно, но комнате их много) Если в комнате несколько "пар" дверей, то каджой из дверей ты назначаешь переменные, допустим move_to_x и move_to_y, присваиваешь им координаты, куда она будет перемещать. Либо просто х у точки появления прописываешь, либо "имя_двери_к_которой_надо_переместиться.х", "имя_двери_к_которой_надо_переместиться.y" Если ты хочешь, чтобы строго определенная дверь телепортировала к другой строго определенной двери - ВСЕ двери должны быть разными обьектами: obj_door0, obj_door1, 2, 3... Или для удобства - парами, если хочешь чтобы дверь телепортировала к двери, которая может телепортировать обратно к первой. obj_door0_1, obj_door0_2; obj_door1_1, obj_door1_2. Это просто для удобства и чтоб не запутаться самому. Например, в событии создания обьекта obj_door0
Код move_to_x=obj_door1.x; move_to_y=obj_door1.y
Далее, надо сделать так, чтобы обьект персонажа знал, куда перемещаться. Для этого в событии Шаг у персонажа пишем
Код xyz=instance_nearest(obj_door_parent); //Записывает в переменную xyz ИД двери(или как то так это работает). Теперь можно работать с переменной, как с объектом. Кстати, obj_door_parent - родитель для всех дверей, должен быть прописан во всех обьектах-дверях.
у персонажа в событии кнопка Е отпущена(ну или на какую там кнопку телепорт)
Код if place_meeting(x,y,obj_door_parent) //если персонаж соприкасается с дверью {x=xyz.move_to_x //присваиваем ему координаты х и у y=xyz.move_to_y //которые записаны в этой двери }
Как то так. Единственное, я не знаю как сделать красивую задержку, как при переходе между комнатами. Пробуй просто рисовать большой спрайт во весь экран, типа эфект перехода.
Сообщение отредактировал nekroo98 - Среда, 01 Ноября 2017, 15:26 |
|
| |
|