1

我已经用 Flash 和 AIR 创建了 3 或 4 个 android 游戏,而且手势滑动和平移是如此反应迟钝,无法使用它们。例如,我正在尝试使用平移手势进行滑块,并且它每 3 次至少错过 1 次手势。滑动也一样,我有一个游戏掉落的东西,必须滑动才能将它们推回一点,但这是五分之一的成功率!

有没有人在 Flash / AIR(三星 S2 上)使用这些手势,你让它工作了吗?

谢谢 !

教育

4

1 回答 1

1

手势对于每个听众来说都有非常高的开销。如果您同时运行多个手势侦听器,则每个侦听器都会运行测试ON_ENTER_FRAME(似乎是轶事)并且问题会成倍增加。如果舞台上有多个对象都需要相同的手势,我将监听器添加到舞台,然后测试 Event.target 是否是我的对象之一。这种做法还可以更好地重用代码。

就像是:

Stage.addEventListener(TransformGestureEvent.GESTURE_SWIPE, swipped);
Stage.mouseChildren = false;
function swipped(e:TransformGestureEvent):void {
    if(array_of_objects.indexOf(e.target)) {
        Stage.removeChild(e.target);
    }
}

如果您的所有下落对象都在一个包装容器中,则此方法效果最佳,因此您不必从舞台的所有子级中删除鼠标事件,只需从包装器的子级中删除。

如果您无法从代码的位置(在班级内)访问舞台,您可以使用DisplayObject.Stage.addEventListener...

于 2013-03-31T21:32:04.103 回答