AS3:滑动功能起作用

时间:2014-06-13 15:25:08

标签: android actionscript-3 flash swipe

所以我做了一个滑动功能,允许用户从屏幕顶部和屏幕一侧滑动菜单(注意:有一些箭头从用户正在屏幕的屏幕两侧突出刷卡菜单)。现在一切都很好,但有一点......菜单只适用于事件监听器中的.stage。这不是问题,但我有屏幕也使用滑动功能来改变屏幕上的内容。但奇怪的是,使用滑动功能的屏幕在事件监听器中不需要.stage。下面我将发布事件监听器,我已经被困在这几天了,只是没有加起来为什么它这样做。

//Side Menu Swipe
smenu_mc.stage.addEventListener(TransformGestureEvent.GESTURE_SWIPE, onSwipe);

//Top Menu Swipe
tmenu_mc.stage.addEventListener(TransformGestureEvent.GESTURE_SWIPE, downSwipe);

//Screens Swipe
Games.addEventListener(TransformGestureEvent.GESTURE_SWIPE, lrSwipe);

1 个答案:

答案 0 :(得分:0)

你能做什么,就是在显示对象上发生的滑动(比如推测你的Games对象),你可以用更高的优先级听取并取消活动。

Games.addEventListener(TransformGestureEvent.GESTURE_SWIPE, lrSwipe, false, 999); //the fourth parameter is the priority of the listener, when there are multiple event listeners for the same event, the listener with the higher number priority will be run first

function lrSwipe(e:TransformGestureEvent):void {
    e.stopImmediatePropagation(); //this make the event stop and not trigger other listeners after this one

    //...rest of your code
}

再次(如我对你的其他question的回答所示),你不会想要多个听众进行舞台滑动事件。使用您发布的代码,当用户在Games屏幕顶部滑动时,您的所有三个功能(lrSwipe,然后downSwipe然后onSwipe)会被同时打电话。