动作脚本 3 滑动功能(不会滑动)

Posted

技术标签:

【中文标题】动作脚本 3 滑动功能(不会滑动)【英文标题】:Action Script 3 Swipe Function (Won't Swipe) 【发布时间】:2014-07-31 16:49:29 【问题描述】:

我正在尝试在 AS3 中进行简单的滑动动作(动作脚本 3)。当我通过 android 3.6 运行测试时,我没有收到任何错误 - 但没有任何反应。盒子根本不动。这是我正在使用的代码...

import flash.events.MouseEvent;

import flash.net.URLLoader;

import flash.ui.Multitouch;

import flash.ui.MultitouchInputMode;

import flash.events.TransformGestureEvent;

Multitouch.inputMode = MultitouchInputMode.GESTURE;

//Side Menu Swipe

smenu_mc.addEventListener(TransformGestureEvent.GESTURE_SWIPE, onSwipe);

//Top Menu Swipe

tmenu_mc.addEventListener(TransformGestureEvent.GESTURE_SWIPE, downSwipe);

function onSwipe (e:TransformGestureEvent):void

    if (e.offsetX == 1)
        //Menu can only swipe to the right
        smenu_mc.x += 278;
    


function downSwipe (e:TransformGestureEvent):void

    if (e.offsetY == 1)
        //Menu can only swipe down
        tmenu_mc.y += 99;
    

有人知道这个问题吗?感谢您的帮助!

【问题讨论】:

【参考方案1】:

您的问题很可能与焦点有关。

为了使您的代码正常工作,您附加 SWIPE 侦听器的对象必须具有当前的焦点才能接收事件。如果它们在屏幕外或者用户在滑动之前没有触摸它们,它们将不会发送事件。

尝试将您的侦听器添加到 stage,这样无论从哪里开始滑动,事件都会始终触发。

//Global Swipe
stage.addEventListener(TransformGestureEvent.GESTURE_SWIPE, onSwipe);

要滑动菜单,使用补间库(例如 TweenLite)非常轻松

import com.greensock.TweenLite;
import com.greensock.easing.Quad;
import com.greensock.easing.Bounce;

function slideTopMenuIn()
    TweenLite.to(tmenu_mc,2,y: 0, ease: Bounce.easeOut);


function slideTopMenuOut()
    TweenLite.to(tmenu_mc,1,y: -tmenu_mc.height, ease: Ease.easeIn);


function slideSideMenuIn()
    TweenLite.to(smenu_mc,2,x: 0, ease: Bounce.easeOut);


function slideSideMenuOut()
    TweenLite.to(smenu_mc,1,x: -smenu_mc.width, ease: Ease.easeIn);


function downSwipe (e:TransformGestureEvent):void

    if (e.offsetY == 1)
        slideTopMenuIn();
    

    if(e.offsetY == -1)
        slideTopMenuOut();
    

    if (e.offsetX == 1)
        slideSideMenuIn();
    

    if(e.offsetX == -1)
        slideSideMenuOut();
    

【讨论】:

非常感谢,现在可以使用了。只需要调整距离之类的东西。 您对如何只让它以一种方式和另一种方式滑动到目前为止有什么建议吗? 不确定我是否理解?您只是从顶部和左侧滑入隐藏菜单吗? 很抱歉这么晚才回复您,但就是这样 我更新了答案以展示一种简单的方法(假设您的侧边菜单在左侧。另外,请确保您在舞台上只有一个滑动监听器。

以上是关于动作脚本 3 滑动功能(不会滑动)的主要内容,如果未能解决你的问题,请参考以下文章

什么是游戏脚本

在 Flash CS6 中用于 iOS 的滑动手势

插件-模仿滑动动作事件

分享鼠标手指滑动旋转模型的基本控制脚本

我的链接/脚本标签(提供缓存的 Bootstrap 版本)是不是正确? Bootstrap Carousel 拒绝滑动

Lua脚本-自动滑动刷视频