Game Maker 2 разрывает путь при смене комнаты - PullRequest
0 голосов
/ 26 сентября 2018

Я создаю игру в GMS 2. Как часть игры, у меня есть объект, который следует по пути, и я хочу, чтобы он продолжал следовать по тому же пути после смены комнаты.Я заметил, что это не работает - путь продолжается, как обычно, но координаты X и Y объекта полностью изменяются безо всякой причины - я пробовал это в режиме отладки, и в какой-то момент они просто меняются.Это происходит только в том случае, если я меняю комнаты, когда путь активен.Это код создания пути:

if (mp_grid_path(my_grid, my_path, x, y, dest_x, dest_y, 1)) {
            path_start(path, ny_speed, path_action_stop, false);
        } else {
            show_debug_message("no path!!!");
        }

1 Ответ

0 голосов
/ 26 сентября 2018

Я нашел способ решить эту проблему - сохранить путь в конце комнаты, а затем восстановить его из той же точки, в начале комнаты.В конце комнаты:

if(is_walking) { // only do this if the object is currently walking
path_end();
}

В начале комнаты:

if(is_walking) { // only do this if the player is currently walking
if (mp_grid_path(my_grid, my_path, x, y, dest_x, dest_y, 1)) {
    path_start(path, my_speed, path_action_stop, false);
} else {
    show_error("no path!!!", true); // if there is no path at this point, we have an error - because it existed before we changed the rooms, so it should exist now
}
}

Надеюсь, это поможет любому, кто застрянет на этом в будущем.

...