2012-11-09 31 views
0

我正在爲學校製作一個短小的互動電子賀卡。它帶您穿過「聖誕故事」的場景。現在我正在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); 

    } 
} 

我完全不熟悉actionscript。非常感謝。

回答

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

感謝響應。不幸的是,代碼沒有工作,但我想出瞭如何停止播放這個動作。 – Phable

+0

我的錯誤;在發佈答案之前沒有正確地查看代碼;)。看到更新的答案和一些評論,希望對你有用。 –

相關問題