обработчик клика для отдельного изолированного Sprite - PullRequest
1 голос
/ 14 января 2020

есть ли способ привязать обработчик кликов к отдельному изолированному спрайту

 sprite.getChildren().forEach(
        s => s.setInteractive({ cursor: 'url(./src/games/gewgly/assets/images/pointer.png), pointer' })
    );

Я использовал этот метод для t ie изолированных спрайтов, но он пока не работает, есть ли лучший способ

1 Ответ

0 голосов
/ 15 января 2020

У Sprite в Phaser 3 не может быть детей, поэтому часть кода sprite.getChildren меня немного беспокоит. Только у групп есть метод getChildren.

Самое простое:

const player = this.add.sprite(x, y, texture);

player.setInteractive();

player.on('pointerdown', () => {

  console.log('You clicked the player sprite');

});

// Or, if you have a Group full of Sprites:

const sprites = yourGroup.getChildren();

sprites.forEach((child) => {

  child.setInteractive();

  child.on('pointerdown', () => {
    console.log('You clicked a Group sprite');
  });

});
...