如何停止这个简单的动作?

时间:2012-11-09 20:06:22

标签: flash function actionscript

我正在为学校制作一张简短的小型互动电子贺卡。它将带您浏览“圣诞故事”的场景。现在我正在研究Ralphie击败Farkus的部分。

我想要它所以你可以使用左右箭头键来投掷拳,但如果你选择结束场景,你只需点击一个按钮就可以完成Farkus。

所以我这里有这个代码,它只是使用箭头键将你带到某些帧。

问题是,当我点击按钮时,我希望所有代码都消失。现在它没有。如果我在单击按钮后点击其中一个箭头键,代码仍会将我带到场景的开头。

stop();

stage.addEventListener(KeyboardEvent.KEY_UP, punchfarkusleft);

function punchfarkusleft(event:KeyboardEvent):void
{
    if (event.keyCode == Keyboard.LEFT)
    {
        this.gotoAndPlay(1980);
    }
}

stage.addEventListener(KeyboardEvent.KEY_UP, punchfarkusright);

function punchfarkusright(event:KeyboardEvent):void
{
    if (event.keyCode == Keyboard.RIGHT)
    {
        this.gotoAndPlay(1995);

    }
}

我对动作脚本完全不熟悉。非常感谢。

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

stop();

function keyUpHandler(event:KeyboardEvent):void
{
    // removing the listener will stop the handler being executed on 
    // subsequent keyUp events
    stage.removeEventListener(KeyboardEvent.KEY_UP, keyUpHandler);

    // We can handle any number of keys in the handler now
    if (event.keyCode == Keyboard.RIGHT)
    {
        this.gotoAndPlay(1995);
    }
    else if (event.keyCode == Keyboard.LEFT)
    {
        this.gotoAndPlay(1980);
    {
}

// Only add one event listener for keyUp event
stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);