Gamemaker Studio 2: Мой персонаж не будет переходить через комнаты
Я использую код перехода, который я выучил в ходе курса Удеми, но персонаж в моей игре будет переходить только через первую дверь, и никакие другие.
Я использую тот же объект, но меняю код создания объекта. Я использую переменные room_
, start_
, Я использую их для выбора разных комнат и стартовых позиций в коде создания. Нажмите на ссылку, чтобы просмотреть видеоигру - ( https://drive.google.com/open?id=1jCWIM3hYymgspW54EPbnUDrNQVZbY_4B).
0 ответов
Я немного повозился с проектом, я понимаю ошибку, которую вы получаете, после того, как персонаж проходит первую дверь, он не может вернуться, хотя в r_sworld есть двери того же типа, все они имеют маски столкновения, они у всех есть переменные... Я не знаю, почему ваш код не работает, но я нашел решение!
Переместите код из o_player::o_door в o_player:: step.
Использование событий столкновения в GMS обычно не рекомендуется, вам следует постараться сделать как можно больше в событии шага. Вы можете заменить событие столкновения на o_door, добавив его в конце события шага:
if (place_meeting(x, y, o_door)) {
var door = instance_place(x, y, o_door);
room_goto(door.room_);
global.player_start_position = door.start_;
persistent = true;
}
Вот уловка. Если новая должность продиктованаglobal.player_start_position
заставляет игрока появляться наверху какой-то другой двери в комнате назначения, вы сразу же телепортируетесь обратно в первую комнату. Убедитесь, что координаты указаны вdoor.start_
никогда не подходите слишком близко к другим дверям.
Надеюсь это поможет!