[英]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.