繁体   English   中英

禁用手机的后退按钮(AIR for Android / ActionScript 3)

[英]Disabling the phone's back button (AIR for Android /ActionScript 3)

我正在使用AIR(这是与Flash一样在ActionScript 3中编程的)为Android制作游戏。

我想做的是使手机上的后退按钮不退出游戏,而是应该暂停游戏。 (我将这样做,以便在快速按两次时仍将退出游戏。)

但是我的代码不起作用:

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

当我将事物发布到设备上时,当我按下手机上的物理后退按钮时,它仍然会退出。

我在这里做错了什么?

编辑:只有一个空指针异常问题我还没有发现。 多么尴尬!

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

}
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!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM