multi-touch - Phaser 多点触控(在笔记本电脑触控板上)

标签 multi-touch phaser-framework

当 1) 按住,然后 2) 再次点击屏幕以释放目标时,我对如何跳过以下条件感到困惑。我认为辅助点击变成了 activePointer 所以我很困惑。

var holding_down = game.input.activePointer.isDown;

if (holding_down && game.input.pointer2.isUp) { cue.aiming = true; }

更新:请注意,对于接受的解决方案,我必须区分桌面和移动使用情况。 pointer1 和pointer2 在移动设备上工作正常,但在桌面上我必须执行以下操作。

  if (desktop) {
    var holding_down = game.input.activePointer.leftButton.isDown;
    var second_tap = spacebar.isDown;
  } else {
    var holding_down = game.input.pointer1.isDown;
    var second_tap   = game.input.pointer2.isDown;
  }

另请注意,您需要在实例化 game 对象后声明 desktop var。然后,我在 preload() 函数中设置 var:desktop = game.device.desktop;,否则它会给出错误的值。谢谢!

最佳答案

你是对的,辅助点击变成了activePointer。根据文档,activePointer是“最近事件的 Pointer 对象。”

因此,您需要针对 game.input.pointer1game.input.pointer2 进行检查。

因此,将代码中的 activePointer 替换为 pointer1,这可能会让您更接近您想要的内容。

关于multi-touch - Phaser 多点触控(在笔记本电脑触控板上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36656451/

相关文章:

.net - 适用于 Windows 窗体的 Windows 7 MultiTouch .NET API

javascript - Safari 中是否支持触摸事件?

ios - UITapGestureRecognizer 吞下所有手势

javascript - 如何在 Phaser 3 中检测图形和 Sprite 之间的碰撞?

javascript - 当我的脚本运行时 Google Chrome 卡住

c# - 大屏多点触控交互应用设计

android - Processing 可以处理多点触控吗?

javascript - 移相器、圆形按钮

javascript - 在 Phaser 中以相等尺寸制作 Sprite 表动画

javascript - 如何将 Phaser 3 游戏转换为安卓游戏?