导语:
首先Cocos2d-x其中实现Menu和Back按键相对简单一点,而在资源较少的Cocos2d-html5其中。要实现返回还是有一点不一样的,并且有没有详细的demo。也就仅仅有自己去看api文档。这也是头痛的一件事情,下面总结和归纳在Cocos2d-html5其中。怎样实现返回键。和Menu键。
分析:
cocos2d中眼下仅仅有Layer以及其子类可以获取用户输入。即触发用户输入的事件。
这个结论是我通过查看API文档推測的,由于要触发这些事件。必需要有setIsKeypadEnabled和setIsTouchEnabled方法,而API中仅仅有layer和其子类有这两个方法,所以非常自然要实现返回必须是在Layer场景或者其子类去实现。
代码:
myLayer.backClicked=function(){ cc.log("back Clicked"); cc.AudioEngine.getInstance().stopAllEffects(); cc.BuilderReader.runScene("", "LevelLayer"); } myLayer.setKeypadEnabled(true); 备注:此方法仅仅适合使用cocosEditord的时候使用。cocos2d-js3.0之后的版本号请使用下面的代码 cc.eventManager.addListener({event: cc.EventListener.KEYBOARD,onKeyReleased: function(keyCode, event){ if(keyCode == cc.KEY.back){ } else if(keyCode == cc.KEY.menu){ }}}, this); cc.eventManager.addCustomListener(cc.game.EVENT_HIDE, function(){ //onEnterBackground handler }); cc.eventManager.addCustomListener(cc.game.EVENT_SHOW, function(){ //onEnterForeground handler }); |