0

学校用の短いインタラクティブな E カードを作成しています。「クリスマスの物語」のシーンをご紹介します。今はラルフィーがファルカスを倒すところをやっています。

左右の矢印キーを使用してパンチを投げられるようにしたいのですが、シーンを終了することを選択した場合は、ボタンをクリックするだけでファルカスを終わらせることができます.

ここにこのコードがあります。これは、矢印キーを使用して特定のフレームに移動するだけです。

問題は、ボタンをクリックすると、そのコードがすべて消えてしまうことです。今のところそうではありません。ボタンをクリックした後に矢印キーの 1 つを押すと、コードは引き続きシーンの最初に移動します。

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);

    }
}

私はアクションスクリプトがまったく初めてです。どうもありがとう。

4

1 に答える 1

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);
于 2012-11-09T20:55:14.787 に答える