按下按钮AS3移动影片剪辑

时间:2013-03-20 20:23:29

标签: actionscript-3

有人知道如何通过单击舞台上的按钮来移动影片剪辑。我可以让它以增量方式移动,但我希望它能够不断移动。目前我有这个:

down.addEventListener(MouseEvent.MOUSE_DOWN, arrowDown);

function arrowDown(event:MouseEvent):void
{
bottomArrow.y += 1;
}

1 个答案:

答案 0 :(得分:1)

首先,您应该倾听KeyboardEvent而不是MouseEvent。然后我认为你应该听取stage发送的那些事件。

以下是使用Event.ENTER_FRAME事件的示例。如果您想更好地控制精灵移动的速度,您可能希望改为使用计时器。

此示例适用于按下向下箭头但您可以使用任何所需的键更改Keyboard.DOWN

stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);

function onKeyDown(event:KeyboardEvent):void
{
    if (event.keyCode == Keyboard.DOWN)
    {
        stage.addEventListener(Event.ENTER_FRAME, onEnterFrame);
    }
}

function onKeyUp(event:KeyboardEvent):void
{
    if (event.keyCode == Keyboard.DOWN)
    {
        stage.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
    }
}

function onEnterFrame(event:Event):void
{
    bottomArrow.y += 1;
}