1

我正在 Surface 上开发 AIR 应用程序原型,我注意到 TouchEvent.TOUCH_MOVE 没有按预期触发......

我已经构建了一个快速调试应用程序:

private var tf:TextField;

        public function init():void{
            trace("init");
            Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
            tf = new TextField();
            tf.multiline = true;
            tf.width = 800;
            tf.height = 2000;
            this.stage.addChild(tf);
            tf.text = "Test";

            var touch:Sprite = new Sprite;
            touch.graphics.beginFill(0xFFFF00,0.3);
            touch.graphics.drawRect(0,0,800,200);
            touch.graphics.endFill();
            this.stage.addChild(touch);


            touch.addEventListener(TouchEvent.TOUCH_BEGIN, updateTF);
            touch.addEventListener(TouchEvent.TOUCH_END, updateTF);
            touch.addEventListener(TouchEvent.TOUCH_MOVE, updateTF);
            touch.addEventListener(TouchEvent.TOUCH_OVER, updateTF);
            touch.addEventListener(TouchEvent.TOUCH_TAP, updateTF);
            touch.addEventListener(TouchEvent.TOUCH_ROLL_OUT, updateTF);
            touch.addEventListener(TouchEvent.TOUCH_ROLL_OVER, updateTF);

        }

        private function updateTF(event:TouchEvent):void
        {
            trace(event);
            tf.appendText("\n event:" + event);
        }

...它确认我没有触发 TouchEvent.TOUCH_MOVE。

可能是什么问题?谢谢

4

2 回答 2

1

所以,我没有解决这个问题,但我找到了解释和解决方法。这是 Windows 8 上 AIR 3.8 上的错误。只需安装以前版本的 AIR。希望它可以帮助某人:)

于 2013-09-25T16:09:16.467 回答
0

您可以使用Microsoft SurfaceMouseEvents代替touch events。因为 adobe 尚未针对 Microsoft Surface 触控设备发布(请参阅 adobe labs)。

通常所有的触摸事件都回退到鼠标事件,因此您可以尝试使用鼠标事件。这对我来说很有用 。但不确定 Mouse Move 事件,但它适用于 touch begin 和 touch end 事件到 mousedown 和 mouseup 事件。

于 2013-09-13T11:30:42.647 回答