Actionscript滑动手势难度

时间:2014-02-26 14:08:50

标签: actionscript-3 object

我仍然是动作脚本的新手,并且对于实施滑动手势已经困惑了几天。 我正在制作一个类似于水果忍者的游戏,用户在其中滑动传入的物体,我一直试图弄清楚如何在滑动它后使物体从屏幕上掉下来。

        import flash.events.Event;
    import flash.ui.Multitouch;
    import flash.ui.MultitouchInputMode;


    //haggis movement
    stage.addEventListener(Event.ENTER_FRAME, gameloop);

    function gameloop(e:Event):void {
        haggis.x=70;
        if (haggis.x<-130) 
    {
            haggis.x=1200;
        }
    }

    //Swipe Gesture

    Multitouch.inputMode = MultitouchInputMode.GESTURE;
    stage.addEventListener(TransformGestureEvent.GESTURE_SWIPE , onSwipe); 
    function onSwipe (e:TransformGestureEvent):void{
    if (e.offsetX == 1) {
        //User swiped towards right
        haggis.y += 200;
    }
    if (e.offsetX == -1) {
    //User swiped towards left
    haggis.y += 200;
    } 
    if (e.offsetY == 1) {
    //User swiped towards bottom
    haggis.y += 200;
    }
    if (e.offsetY == -1) {
    //User swiped towards top
    haggis.y += 200;
    } 
    }


//piper hit by haggis

piper.addEventListener(Event.ENTER_FRAME, piper_damaged);
    function piper_damaged(event:Event):void {
        if (piper.hitTestObject(haggis)) {
            piper.gotoAndPlay(2);
                    }

    }

haggis是用户要刷的对象。

我也在试图弄清楚如何在从屏幕上掉下来后将haggis重置回原来的位置,对此的任何帮助都将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:0)

在游戏循环中为haggis.y添加增量,即:

haggis.y ++;

如果你想模拟重力增量yMomemtum变量并将其添加到haggis.y;
如果你希望haggis只在你刷过它后才会掉落,添加一个haggisSwiped:Boolean并在玩家滑动时将其设置为true。然后,在游戏循环中,检查:

if (haggisSwiped) {
    haggis.y ++;
}

此外,您在每帧都将haggis.x设置为70并立即检查它是否小于-130。你知道为什么吗,因为我不知道。