我用Flash和AIR创建了3或4个安卓游戏,手势滑动和平移只是如此反应迟钝,无法使用它们。例如,我试图用平移手势做滑块,它每3次至少错过一次手势。 同样的滑动,我有一个游戏,事情下降,不得不刷卡推动他们恢复一点,但它是成功率的五分之一!
有人在那里使用这些手势与Flash / AIR(在三星S2上)并且你让它工作了吗?
谢谢!
Edualc
答案 0 :(得分: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...