使用指针向下的moveTo函数移动精灵时出现故障

时间:2019-03-14 15:59:04

标签: phaser-framework

我正在尝试根据用户的单击/触摸事件位置移动精灵。

以下是我到目前为止所做的演示: 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方法。

请为我指明正确的方向:)

1 个答案:

答案 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)

https://codepen.io/louiscuny/pen/rRKYwJ