我正在尝试根据用户的单击/触摸事件位置移动精灵。
以下是我到目前为止所做的演示: https://codepen.io/louiscuny/pen/GeQQbZ
var pointer
var logo
function create ()
{
logo = this.physics.add.image(400, 100, 'ball');
pointer = this.input.activePointer
}
function update() {
logo.setVelocity(0)
if (pointer.isDown) {
this.physics.moveTo(logo, pointer.worldX, pointer.worldY, 600)
}
}
它按预期方式工作,但当精灵位于指针下方时会出现故障。
我试图通过在坐标上使用Math.floor来减轻这种行为,或者在指针与子画面之间的距离太短但似乎无济于事时不调用moveTo方法。
请为我指明正确的方向:)
答案 0 :(得分:0)
经过反复试验,我终于找到了正确的阈值。
if (Phaser.Math.Distance.Between(logo.x, logo.y, pointer.worldX, pointer.worldY) > 5)
this.physics.moveTo(logo, pointer.worldX, pointer.worldY, 600)