我正在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被解雇。
可能是什么问题? 谢谢
答案 0 :(得分:1)
所以,我没有解决问题,但我找到了解释和解决方法。 这是Windows 8上AIR 3.8的错误。 只需安装以前版本的AIR即可。 希望它可以帮助某人:)
答案 1 :(得分:0)
对于Microsoft Surface,您可以使用MouseEvents
代替touch events
。因为adobe尚未发布用于Microsoft Surface触控设备(参见adobe labs)。
通常所有触摸事件都会回退到鼠标事件,因此您可以尝试使用鼠标事件。这对我来说很有用 。但不确定鼠标移动事件,但它适用于触摸开始和触摸结束事件到mousedown和mouseup事件。