Обнаружение столкновения между спрайтом и растровым изображением в Phaser - PullRequest
0 голосов
/ 30 августа 2018

Как обнаружить столкновение между спрайтом и формой, созданной растровым изображением?

В примере у меня есть спрайт:

this.player = this.add.sprite(0, 0, 'player')
this.player.anchor.setTo(0.5)
this.player.scale.setTo(0.1)

И растровое изображение:

this.bmd = this.game.add.bitmapData(2000, 2000)
this.bmd.addToWorld()

А потом я рисую фигуру, используя объект bmd:

this.bmd.rect(px, py + 15, 5, 500, 'rgba(255, 255, 255, 1)')

Тогда я вызываю этот метод:

this.bmd.update()

Это выглядит более или менее как в изображение . Желтый шар - мой спрайт. Белая изогнутая линия - это моя форма, созданная из растровых данных. И я хочу обнаружить столкновение между желтым объектом и белой линией.

1 Ответ

0 голосов
/ 30 августа 2018

Я решил это - эти примеры очень полезны http://jsfiddle.net/4yh8ee1f/46/ и https://phaser.io/examples/v2/sprites/sprite-from-bitmapdata

var bmd = game.add.bitmapData(128,128);

bmd.ctx.beginPath();
bmd.ctx.rect(0,0,128,128);
bmd.ctx.fillStyle = '#ff0000';
bmd.ctx.fill();

var sprite = game.add.sprite(200, 200, bmd);

Когда у меня есть 2 спрайта (игрок и растровое изображение), обнаружение столкновений очень просто.

...