Coco2d-js/Cocos2d-html5中Android返回键实现

导语:

首先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

});

时间: 2024-10-12 03:11:19

Coco2d-js/Cocos2d-html5中Android返回键实现的相关文章

android中的返回键与Activity

我在做应用时遇到一个问题,就是在启动主页面时需要预先加载一些数据,我是在一个加载页中处理完这些数据然后再转到主页面,但当我在主页面中按返回键时,系统会返回加载页面.我不希望加载页在使用完之后还被保留在任务中. Android的官方文档中这样描述的返回栈.任务和activity的默认关系: 1:当从Activity A中启动Activity B时,Activity A停止,但是保存了它的状态(比如,滚动位置和表单中的文字).如果当用户在Activity B中按了返回键,Activity A会恢复之

ionic框架对Android返回键的处理

在HybridApp移动跨平台开发中,android平台会遇到一些比较特殊并难以解决的问题,这些问题在原生应用开发中很easy, Android的返回键处理就是问题之一,假如我们要实现一个在很多App中都有的在主页按返回键弹出对话框提示用户退出应用的功能,在原生应用开发中是很容易的,只要在onKeyUp事件里面对返回键事件进行处理就可以了.按2次返回键退出应用的Java代码如下: private long exitTime = 0; @Override public boolean onKeyD

quick-cocos2d-x android返回键监听并实现原生退出对话框

这两天终于闲了一下,就顺手又把quick捡起来又学了学,一直都觉得quick比cocos2dx那套lua绑定要方便许多,今天试了下android返回键的监听,还是挺好弄的,所以就有了这篇. 首先说明一下使用的quick版本--2.2.5. 直接上代码 function MainScene:addBackEvent() if device.platform == "android" then self.touchLayer = display.newLayer() self.touchL

Android 返回键双击退出程序

/** * 菜单.返回键响应 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { exitBy2Click();// 调用双击退出函数 } return false; } private long exitTime = 0; /** * 双击退出:利用计算时间差实现 */ public void exitBy2Click() { i

Cocos2d-x响应android返回键

开启按键按键监听 setKeypadEnabled(true); 重写监听事件函数 virtual void keyBackClicked(); 如: void BanQiuLayer::keyBackClicked() { //暂停声音播放 CocosDenshion::SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic(); mag->toBeginLayer(); //返回到上一个场景 } Cocos2d-x响应android返

Android 在fragment中实现返回键单击提醒 双击退出

尝试用mvp架构加dagger2来重写了一下,大致功能都实现了,还没有全部完成. 项目地址 接近完成的时候,想在天气信息页面实现一个很常见的功能,也就是点击屏幕下方的返回键的时候不是返回到上一个activity或者退出,而是提醒用户再按一次就会退出. 实现思路也很简单,就是对返回键的动作进行监听和拦截,然后重写成需要的动作,因为在我的程序中activity只作为调度器使用,真正的View功能在fragment中,所以返回键的动作捕捉只能以接口形式 BaseFragment实现这个接口,代码如下:

js history对象 手机物理返回键

有兴趣的可以了解下history对象,不感兴趣也可以直接跳到手机物理返回键监听部分 ******************[history对象]有length属性,go()/back()/forward()跳转方法**************************** 我们要了解浏览器的history对象, history对象保存着用户上网的历史记录,从窗口被打开的那一刻算起:history.length属性保存着历史记录的URL数量.初始时,该值为1.如果当前窗口先后访问了三个网址,histo

android 返回键两次退出

返回键两次退出 private long exitTime = 0; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){ if((System.currentTimeMillis()-exitTime) > 2000){ Toast.make

cocos2dx之WebView踩过的坑(android返回键处理问题)

最近游戏接入了一个私服平台,由于没有sdk,所以支付相关的操作需要在网页端进行,也就是说点击充值需要在游戏内部弹出一个网页,并定位到平台充值的地址.查阅相关资料后决定使用cocos2dx自带的WebView来完成这项任务.WebView的使用方式非常简单,代码如下: #include "ui/CocosGUI.h" using namespace cocos2d::experimental::ui; m_WebView = WebView::create(); // m_WebView