Триггерное действие в Phaser с внешней кнопкой - PullRequest
0 голосов
/ 13 сентября 2018

В настоящее время я сталкиваюсь с проблемой: я бы хотел, чтобы спрайт игрока (левый персонаж) переместился на правый.Я уже заставил это работать, но теперь я хотел бы заставить персонажа двигаться, когда я нажимаю кнопку, и вот моя проблема, я не знаю, как я могу это сделать.

Я уже пробовал с эмиттерами и внешнимbool.

Вот как выглядит HTML: enter image description here

Вот часть кода

    export class CombatComponent implements OnInit {

constructor() { }

public onGameReady(game: Phaser.Game): void {
   this.game = game;
}

public game: Phaser.Game;

public readonly gameConfig: Phaser.Config = {
title: environment.title,
type: Phaser.AUTO,
width: 1024,
height: 512,
physics: {
  default: 'arcade',
  arcade: {
    gravity: {y: 300},
    debug: false
  }
},
scene: {
  preload: function() {
    ...
  },
  create: function () {
   ....
  },
  update: function() {

   ....

  }
}
};

attack() {
 //would like to make my character move here like this.player.x += 1
}

Если у кого-то есть решениеили совет, я был бы рад прочитать!

1 Ответ

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

Поскольку Phaser - это JavaScript, вы можете добавить прослушиватель событий для кнопки с помощью стандартных функций JavaScript.

В вашем create() вы можете добавить прослушиватель событий следующим образом:

let externalButton =  document.getElementById("yourButtonId");
if (externalButton) {
    externalButton.addEventListener("click", this.attack);
}
...