0

我使用AIR爲Android製作遊戲(意味着它在ActionScript 3中編程,與Flash相同)。禁用手機的後退按鈕(AIR for Android/ActionScript 3)

我想要做的是讓手機上的物理後退按鈕不退出遊戲,而應該暫停遊戲。 (我將讓這個它仍然會退出,如果按兩次快速的遊戲。)

但是我的代碼是不工作:

public function Main() { 
    if (Capabilities.cpuArchitecture=="ARM") { 
     NativeApplication.nativeApplication.addEventListener(KeyboardEvent.KEY_DOWN, onMainKeyDown); 
    } 
} 
private function onMainKeyDown(ke:KeyboardEvent) { 
    if (ke.keyCode==Keyboard.BACK) { 
     // Pause the game here. 
     ke.preventDefault(); 
     ke.stopImmediatePropagation(); 
    } 
} 

當我發佈的東西到我的設備仍當我按下手機上的物理後退按鈕時退出。

我在這裏做錯了什麼?

編輯:只有一個空指針異常問題,我還沒有發現。多麼尷尬!

回答

0
@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
      //Here you can do what ever you want to do while pressing the back button 
     } 
     return true; 

} 
0
NativeApplication.nativeApplication.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown, false, 0, true) 

function onKeyDown(event:KeyboardEvent):void 
{ 
    if(event.keyCode == Keyboard.BACK) 
{ 
    event.preventDefault(); 
    event.stopImmediatePropagation(); 
    //handle the button press here. 
    } 
} 

請注意,如果你設置stage.displayState = FULL_SCREEN,沒有鍵盤事件被髮送到你的應用程序!改用stage.displayState = FULL_SCREEN_INTERACTIVE!