加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2dx + android点击返回键两下退出游戏实现

发布时间:2020-12-14 21:16:59 所属栏目:百科 来源:网络整理
导读:1,修改 org/cocos2dx/lib/Cocos2dxGLSurfaceView.java下面 @Overridepublic boolean onKeyDown(final int pKeyCode,final KeyEvent pKeyEvent) { switch (pKeyCode) { case KeyEvent.KEYCODE_BACK: case KeyEvent.KEYCODE_MENU: this.queueEvent(new Runnab

1,修改org/cocos2dx/lib/Cocos2dxGLSurfaceView.java下面

@Override
public boolean onKeyDown(final int pKeyCode,final KeyEvent pKeyEvent) {
    switch (pKeyCode) {
        case KeyEvent.KEYCODE_BACK:
             
        case KeyEvent.KEYCODE_MENU:
            this.queueEvent(new Runnable() {
             @Override
            public void run() {
                Cocos2dxGLSurfaceView.this.mCocos2dxRenderer.handleKeyDown(pKeyCode);
            }
        });
        return true;
        default:
            return super.onKeyDown(pKeyCode,pKeyEvent);
    }
}
为:
@Override
public boolean onKeyDown(final int pKeyCode,final KeyEvent pKeyEvent) {
    switch (pKeyCode) {
        case KeyEvent.KEYCODE_BACK:
            return false;
        case KeyEvent.KEYCODE_MENU:
            this.queueEvent(new Runnable() {
             @Override
            public void run() {
                Cocos2dxGLSurfaceView.this.mCocos2dxRenderer.handleKeyDown(pKeyCode);
            }
        });
        return true;
        default:
            return super.onKeyDown(pKeyCode,pKeyEvent);
    }
}
按键KeyEvent.KEYCODE_BACK被监听了,只要在这里不作处理即可(return false)

2,添加代码

//
private long exitTime = 0;

@Override
public boolean onKeyDown(int keyCode,KeyEvent event){
	   Log.e("<<<onKeyDown","<<<onKeyDown");
	   if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
		   if(System.currentTimeMillis() - exitTime > 2000){
			   Toast.makeText(getApplicationContext(),"再按一次退出程序",Toast.LENGTH_SHORT).show();
			   exitTime = System.currentTimeMillis();
		   }else{
			   finish();
			   System.exit(0);
		   }
		   return true;
	   }
	   return super.onKeyDown(keyCode,event);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读