背景:在CocosCreater加载一个Scene后,打开游戏或者打开一个弹窗,这个时候如果触发Android的返回按键,会导致应用直接关闭。在此种情况,需要监听安卓的返回事件,然后将场景中打开的弹窗或者正在进行的游戏进行关闭,然后在退出应用。
实现:
在Cocos中,监听cc.SystemEvent.EventType.KEY_DOWN事件,可以实现监听到安卓的返回事件,实现方案如下:(此种情况无法使用原生的onKeyDown方法监听到物理按键,Cocos对此事件进行拦截处理)
onLoad () {
cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN,this.onKeyDown,this);
},
onDestroy() {
cc.systemEvent.off(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this);
},
onKeyDown(event) {
switch(event.keyCode) {
case cc.macro.KEY.back://该值在CocosCrater 2.3添加使用
console.log("----onKeyDown------");
this.onBackPressed();
break;
}
cc.log("---onKeyDownClicked--------b-------");
},
onBackPressed() {
//_amusementPark是通过预制资源实现的一个弹窗,如