2

我正在Flash CS6 Actionscript 3.0 上构建我的第一个Android 游戏应用程序。我想要实现的是:

长按(角色向上移动) 松开手指(角色落向地面)

或者:

点击(字符向上移动几个像素)和释放(字符下降几个像素)。

我到处看了看,我设法把它放在一起:

elephantp.addEventListener(TouchEvent.TOUCH, isPressed);

private function isPressed(event:TouchEvent):void
{
    var touch:touch = event.getTouch(elephantp);

    if(touch.phase == TouchPhase.BEGAN)
    {
        trace("pressed just now");

        elephantp.y += 5;
        addEventListener(Event.ENTER_FRAME, onButtonHold);
    }

    if(touch.phase == TouchPhase.ENDED)
    {
        trace("release");

        elephantp.y -= 5;
        removeEventListener(Event.ENTER_FRAME, onButtonHold);
    }
}

//或者

private function onButtonHold(e:Event):void
{
    trace("doing stuff while button pressed!");
}


 Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;

 elephantp.addEventListener(TouchEvent.TOUCH_TAP, fl_TapHandler);

 function fl_TapHandler(event:TouchEvent):void
    {

        elephantp.y += 5;

    }
4

1 回答 1

0

您是否尝试使用TouchEvent.BEGINandTouchEvent.END来代替TouchEvent.TOUCH

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/TouchEvent.html#includeExamplesSummary

...也许像“TouchEventExample.as”

此外,使用常量来表示您的移动量将使未来的量变化更容易。

于 2013-10-04T23:01:49.260 回答