3

我制作了这个 Button 类,以捕捉 Pointer 事件:

public class Button implements Pointer.Listener {

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

...

如果我触摸其中一个实例化按钮,我会收到 onPointerStart 和 onPointerEnd 事件。但是,如果我的一个按钮已经被触摸并且我开始触摸另一个按钮,我不会得到第二个按钮的 onPointerStart 事件。

有没有办法用 playn 获得这些多点触控事件?

4

1 回答 1

6

Pointer服务旨在通过简单的触摸交互或鼠标交互进行抽象。因此它不支持任何类型的多点触控交互。除了通过服务进行的第一次触摸之外,您不会收到有关任何触摸的通知Pointer

如果要处理多个触摸,则必须使用Touch服务,并且目前没有办法Touch直接在图层上注册监听器。因此,您必须注册一个全局侦听器并进行自己的命中测试,并将触摸移动映射到该触摸首先击中的图层等。

于 2012-05-26T04:30:21.367 回答