cocos2dx + android点击返回键两下退出游戏实现
2015-05-08 11:03
176 查看
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);
}
@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);
}
相关文章推荐
- Android实现点击两次返回键退出
- android点击返回键退出应用的实现
- Android实现点击两次返回键退出
- android中如何实现连续点击返回键退出整个应用 android两次返回退出应用
- Android实现点击两次返回键退出
- Android实现点击两次返回键退出
- Android开发实现点击两次返回键退出程序
- Cocos2dx 3.2键盘监听的打开方式以及点击两次返回退出的实现方法
- Android实现点击两次返回键退出
- Android 实现点击两次返回键退出应用
- Android实现点击两次返回键退出
- 【Android笔记】Android中实现“点击两次返回键退出”
- Android实现点击两次返回键退出
- 【转】Android实现点击两次返回键退出
- Android实现点击两次返回键退出
- 【转载】Android实现点击两次返回键退出应用
- Android实现点击两次返回键退出
- Android实现点击两次返回键退出
- 【转载】Android实现点击两次返回键退出
- 几行代码实现Android 点击两次返回键退出程序