【问题标题】:moving a movie clip by pressing a button AS3按下按钮 AS3 移动影片剪辑
【发布时间】:2025-11-27 20:40:02
【问题描述】:

有谁知道如何通过单击舞台上的按钮来移动影片剪辑。我可以让它逐步移动,但我希望它不断移动。目前我有这个:

down.addEventListener(MouseEvent.MOUSE_DOWN, arrowDown);

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

【问题讨论】:

  • 在您的 arrowDown 中,启动计时器或使用 ENTER_FRAME 侦听器对 .y 进行更改。在 MOUSE_UP 处理程序中,停止计时器或 ENTER_FRAME。
  • 感谢您的帮助。它有效。

标签: actionscript-3


【解决方案1】:

首先,您应该收听KeyboardEvents 而不是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;
}

【讨论】: