Как я могу получить объект от easystar. js и использовать его в своей игровой логике - PullRequest
0 голосов
/ 04 апреля 2020

Я начинающий программист, создающий игры с Javascript и Phaser, и я столкнулся с проблемой. Спасибо за ваше время.

Я пытаюсь внедрить Easystar. js в мой код фазера, и я хочу иметь возможность вызывать плагин easystar из любого места в моем коде, создавая один его экземпляр в верхней части моя сфера На самом деле я не могу получить сгенерированный путь из плагина easystar и использовать его в своей игровой логике c.

    pathfinder = new EasyStar.js();
    pathfinder.setGrid(_newGrid._grid);
    pathfinder.setAcceptableTiles([0]);

    var storedPath = {}; // <- I need to store the path generated, here.

    pathfinder.findPath(1, 1, 2, 2, function( path ) {
    if (path === null) {
        console.warn("Path was not found.");
    } else {
        console.log(path);
        storedPath = path;
    }
});
pathfinder.calculate(); 

console.log(storedPath); // <- Returns undefined.

, когда я регистрирую путь внутри функции pathfinder.findPath, я получаю объект с координаты мне нужны. Работает отлично. Но я не могу понять, как сохранить этот путь в переменной и передать его юнитам в моей игре. Еще раз спасибо за ваше время.

...