TouchEvent.TOUCH_MOVE未在MS Surface上触发

时间:2013-09-13 11:03:43

标签: actionscript-3 windows-8 air touch

我正在Surface上开发一个AIR app原型,我注意到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被解雇。

可能是什么问题? 谢谢

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

对于Microsoft Surface,您可以使用MouseEvents代替touch events。因为adobe尚未发布用于Microsoft Surface触控设备(参见adobe labs)。

通常所有触摸事件都会回退到鼠标事件,因此您可以尝试使用鼠标事件。这对我来说很有用 。但不确定鼠标移动事件,但它适用于触摸开始和触摸结束事件到mousedown和mouseup事件。