AS3 Air for Mobile MultiTouch同时显示两个屏幕按钮

时间:2014-02-11 03:45:19

标签: android actionscript-3 flash air multi-touch

我正在为Android开发游戏,在未来的IOS中,我需要能够在屏幕控制上左右移动播放器,并让播放器能够与另一个屏幕控制同时拍摄。 / p>

因为它是我设置的MouseEvent.CLICK有效,但一次只有一个。我尝试用MouseEvent.CLICK替换我的TouchEvent.TOUCH_BEGIN听众并添加TouchEvent.TOUCH_END并设置Multitouch.inputMode = multitouchInputMode.TOUCH_POINT,但我在文档TOUCH_POINT中意识到不允许多次触摸输入所以我只能使用GESTURE。我不知道从哪里开始实现这个以允许我能够同时按下两个按钮。

代码段:

leftControl = new Left_btn(50,430);
rightControl = new Right_btn(150,430);
dropControl = new Drop_btn(750,430);
stage.addChild(leftControl);
stage.addChild(rightControl);
stage.addChild(dropControl);
leftControl.addEventListener(TouchEvent.TOUCH_BEGIN,player.moveLeft);
leftControl.addEventListener(TouchEvent.TOUCH_END,player.moveLeftStop);
rightControl.addEventListener(TouchEvent.TOUCH_BEGIN,player.moveRight);
rightControl.addEventListener(TouchEvent.TOUCH_END,player.moveRightStop);
dropControl.addEventListener(TouchEvent.TOUCH_TAP,player.drop);

即使没有添加任何监听器,我在使用按钮时也会遇到问题。在录制或点击按钮时,整个游戏会滞后一帧左右。不知道为什么或如何解决这个问题。

编辑:通过用动画片段替换按钮,这似乎已经停止了帧滞后。

1 个答案:

答案 0 :(得分:0)

帧落后是Air和iOS的主要问题,即使在Android上也是如此。您必须维护代码以进行优化。

对于Multitouch试试这个, Tap, Gesture and Multitouch

要直接访问iOS Touch API,请尝试使用

ANE Air Native Extension