关于cocos2dx里面的onKeyDown返回按钮的问题

cocos2dx游戏里面我们经常会用到按手机返回键的问题,比如我们要退出一个程序时,如果只按一下就会提示:再按一次退出程序,下面简单的说说是怎么做的:

首先我们把项目导入eclipse,然后在项目的src下面的org.cocos2dx.lib里面找到Cocos2dxGLSurfaceView.java,然后找到onKeyDown函数在case KeyEvent.KEYCODE_BACK:下面加一句:return false;这就是点击返回按钮后的响应。

然后在src下面import android.view.KeyEvent;
import android.widget.Toast;的com.cocos2dx.org下面的java文件,也就是自己新建工程后生成的java文件,文件里面重写onKeyDown函数,重写之前我们需要导入需要的包:

import android.view.KeyEvent;
import android.widget.Toast;


然后我们在Cocos2dxActivity里面增加函数:

 private long mExitTime;//这个是一个新的变量,要加在Cocos2dxActivity函数里面

    @Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) {  
        // TODO Auto-generated method stub  
         if (keyCode == KeyEvent.KEYCODE_BACK) {    
             if ((System.currentTimeMillis() - mExitTime) > 2000) {// 如果两次按键时间间隔大于2000毫秒,则不退出    
                 Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();    
                 mExitTime = System.currentTimeMillis();// 更新mExitTime    
     
             } else {    
                 System.exit(0);// 否则退出程序    
             }    
             return true;    
         }    
        return super.onKeyDown(keyCode, event);  
    } 

好了,现在打包到手机上就可以了。

大家轻喷

--------------------蛋蛋

扫描二维码关注公众号,回复: 14648067 查看本文章

猜你喜欢

转载自blog.csdn.net/u014417405/article/details/46987775