如何检测位图创建的精灵与形状之间的碰撞?
例如,我有一个精灵:
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()
看起来或多或少像 image。 黄球是我的精灵。 白色曲线是我从bitmapdata创建的形状。 我想检测黄色物体和白线之间的碰撞。
答案 0 :(得分:0)
我解决了-这些示例对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个精灵(播放器和位图)时,碰撞检测非常简单。