之前测了一下android自带的后退按钮,用在cocos2d-js中是没有获取到的
(可能是cocos2d-js已经把android的后退事件截取了,所以原生java代码没有用),
没办法就只能用cocos2d-js的自己实现:
一、准备一张后退图片
二、添加监听后退按钮的事件:
//后退键按两次即退出游戏
cc.eventManager.addListener({
event: cc.EventListener.KEYBOARD,
onKeyReleased: function(keyCode, event) {
if (keyCode == cc.KEY.back) { //beta版本这里的back的keycode有误,也可以自行改为6
cc.log("return button clicked. keycode:" + keyCode);
that.exitBy2Click();
}
else if (keyCode == cc.KEY.menu) { //beta版本这里的menu的keycode有误,也可以自行改为15
cc.log("menu button clicked. keycode:" + keyCode);
}
}}, this);
三、添加函数exitBy2Click()
isExit:false,//全局变量
exitLogo:null,//全局变量
exitBy2Click:function(){
if (this.isExit == false) {
this.isExit = true; // 准备退出
// 如果2秒钟内没有按下返回键,则启动定时器取消掉刚才执行的任务
this.exitLogo = new cc.Sprite(res.exitLogo_png);
this.exitLogo.setPosition(cc.pAdd(cc.visibleRect.bottom, cc.p(0, 120)));
this.addChild(this.exitLogo, 10);
var arrowAction = cc.sequence( cc.fadeOut(2),cc.callFunc(function () {
this.isExit = false;
}, this));
this.exitLogo.runAction(arrowAction);
} else {
cc.director.end();
}
}