我已经用 Flash 和 AIR 创建了 3 或 4 个 android 游戏,而且手势滑动和平移是如此反应迟钝,无法使用它们。例如,我正在尝试使用平移手势进行滑块,并且它每 3 次至少错过 1 次手势。滑动也一样,我有一个游戏掉落的东西,必须滑动才能将它们推回一点,但这是五分之一的成功率!
有没有人在 Flash / AIR(三星 S2 上)使用这些手势,你让它工作了吗?
谢谢 !
教育
我已经用 Flash 和 AIR 创建了 3 或 4 个 android 游戏,而且手势滑动和平移是如此反应迟钝,无法使用它们。例如,我正在尝试使用平移手势进行滑块,并且它每 3 次至少错过 1 次手势。滑动也一样,我有一个游戏掉落的东西,必须滑动才能将它们推回一点,但这是五分之一的成功率!
有没有人在 Flash / AIR(三星 S2 上)使用这些手势,你让它工作了吗?
谢谢 !
教育
手势对于每个听众来说都有非常高的开销。如果您同时运行多个手势侦听器,则每个侦听器都会运行测试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...