0

AIRを使用してAndroid用のゲームを作成しています(ActionScript 3でプログラミングされている、Flashと同じ意味です)。携帯電話の戻るボタンを無効にする(Android/ActionScript 3のAIR)

私がしたいのは、電話機の物理的な戻るボタンをゲームを終了させないようにすることです。代わりにゲームを一時停止する必要があります。 (急速に2回押す場合、それはまだゲームを終了するように、私はそれを行います。)

を自分のコードが機能していませんが:

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

を、私はまだ私のデバイスに事を公開します私が電話機の物理的な戻るボタンを押しているときに終了します。

私はここで間違っていますか?

編集:私はまだ発見していないnullポインタ例外の問題がありました。どのように恥ずかしい!

答えて

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を使用してください!

関連する問題