Playn和多点触控?

3
我已经创建了这个Button类,用于捕获指针事件:
public class Button implements Pointer.Listener {

  public void initLayer(Image defaultImage) {
    layer = parent.createImageLayer(this.defaultImage);
    layer.addListener(this);
  }

...

如果我点击一个已实例化的按钮,我会得到onPointerStart和onPointerEnd事件。但是如果有一个按钮已经被点击了,并且我开始触摸另一个按钮,我就无法获取第二个按钮的onPointerStart事件。
是否有一种方法可以在playn中获取这些多点触控事件?

什么平台?安卓还是iOS? - samskivert
1个回答

6
Pointer服务旨在抽象出简单的触摸交互或鼠标交互。因此,它不支持任何形式的多点触摸交互。您将无法通过Pointer服务收到有关除第一个触摸之外的任何触摸的通知。
如果您想处理多个触摸,则必须使用Touch服务,并且目前没有直接在图层上注册Touch监听器的方法。因此,您需要注册全局监听器并进行自己的命中测试,并将触摸移动映射到首次被触摸的图层等。

顺便提一下,现在可以在图层上注册触摸监听器,因此至少您不必自己完成该部分。这些文档描述了如何为指针事件执行此操作,但现在您也可以为触摸事件执行相同的操作:http://playn.io/cookbook/scene-graph.html#reacting-to-a-click-on-a-layer - samskivert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接