cocos2dx android返回键- 弹出退出对话框

前端之家收集整理的这篇文章主要介绍了cocos2dx android返回键- 弹出退出对话框前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

第一种方式:

直接修改Cocos2dxGLSurfaceView类中的onKeyDown方法修改如下:

  1. <span style="font-size:18px;">@Override
  2. public boolean onKeyDown(final int pKeyCode,final KeyEvent pKeyEvent) {
  3. switch (pKeyCode) {
  4. case KeyEvent.KEYCODE_BACK:
  5. Log.d("","KEYCODE_BACK+++++++++++++++++");
  6. new AlertDialog.Builder(Spartacus.getActivity())
  7. .setTitle(R.string.exit_tip)
  8. .setMessage(R.string.exit_message)
  9. .setNegativeButton(R.string.exit_cancel,new DialogInterface.OnClickListener() {
  10. @Override
  11. public void onClick(DialogInterface dialog,int which) {
  12. }
  13. })
  14. .setPositiveButton(R.string.exit_confirm,new DialogInterface.OnClickListener() {
  15. public void onClick(DialogInterface dialog,int whichButton) {
  16. //finish();
  17. System.exit(0);
  18. }
  19. }).show();
  20. return true;
  21. case KeyEvent.KEYCODE_MENU:
  22. this.queueEvent(new Runnable() {
  23. @Override
  24. public void run() {
  25. Cocos2dxGLSurfaceView.this.mCocos2dxRenderer.handleKeyDown(pKeyCode);
  26. }
  27. });
  28. return true;
  29. default:
  30. return super.onKeyDown(pKeyCode,pKeyEvent);
  31. }
  32. }</span>

第二种方式:

1)、先修改修改Cocos2dxGLSurfaceView类中的onKeyDown方法修改如下:

  1. @Override
  2. public boolean onKeyDown(final int pKeyCode,final KeyEvent pKeyEvent) {
  3. switch (pKeyCode) {
  4. case KeyEvent.KEYCODE_BACK:
  5. return false;
  6. case KeyEvent.KEYCODE_MENU:
  7. this.queueEvent(new Runnable() {
  8. @Override
  9. public void run() {
  10. Cocos2dxGLSurfaceView.this.mCocos2dxRenderer.handleKeyDown(pKeyCode);
  11. }
  12. });
  13. return true;
  14. default:
  15. return super.onKeyDown(pKeyCode,pKeyEvent);
  16. }
  17. }

2)、在继承自Cocos2dxActivity类的,我们自己的activity类中覆盖父类的onKeyDown方法

  1. @Override
  2. public boolean onKeyDown(int keyCode,KeyEvent event) {
  3. //Log.d("","onKeyDown++++++++++++++++++");
  4. if (keyCode == KeyEvent.KEYCODE_BACK) {
  5. new AlertDialog.Builder(this)
  6. .setTitle(R.string.exit_tip)
  7. .setMessage(R.string.exit_message)
  8. .setNegativeButton(R.string.exit_cancel,new DialogInterface.OnClickListener() {
  9. @Override
  10. public void onClick(DialogInterface dialog,int which) {
  11. }
  12. })
  13. .setPositiveButton(R.string.exit_confirm,new DialogInterface.OnClickListener() {
  14. public void onClick(DialogInterface dialog,int whichButton) {
  15. finish();
  16. System.exit(0);
  17. }
  18. }).show();
  19.  
  20. return true;
  21. } else {
  22. return super.onKeyDown(keyCode,event);
  23. }
  24. }



参考:

http://www.jb51.cc/article/p-pfzezpoz-vm.html

http://www.jb51.cc/article/p-vgerwjvc-bkc.html

http://50vip.com/390.html

猜你在找的Cocos2d-x相关文章