【Cocos2d-x】 3.x中响应Android的Back与Menu

cocos2dx 监听android设备按键响应的方法很简单,直接上代码

注册一个Listener,方法跟触摸监听一样,3.x以后做法都是这样

auto listener = EventListenerKeyboard::create();

listener -> onKeyReleased = CC_CALLBACK_2(HelloWorld::onKeyReleased, this);
//CC_CALLBACK_2 表示回调函数有两个参数是必须的
Director::getInstance() -> getEventDispatcher() -> addEventListenerWithSceneGraphPriority(listener, this);

然后再写一个函数,(如果监听得不多的话 也可以选择用lamda的方式)

.h

void onKeyReleased(EventKeyboard::KeyCode keycode,Event *pEvent);

.cpp

void HelloWorld::onKeyReleased(EventKeyboard::KeyCode keycode, cocos2d::Event *pEvent)
{
    switch (keycode) {
    case cocos2d::EventKeyboard::KeyCode::KEY_BACK:
        log("KEY_BACK");
        break;
    case cocos2d::EventKeyboard::KeyCode::KEY_MENU:
        log("KEY_MENU");
        break;
    default:
        break;
}

android常用的就是这两个,windows下按键就多了。。。不过方法也是一样

欢迎访问我的博客:helkyle.tk

时间: 2024-11-06 09:25:38

【Cocos2d-x】 3.x中响应Android的Back与Menu的相关文章

在Activity中响应ListView内部按钮的点击事件

最近交流群里面有人问到一个问题:如何在Activity中响应ListView内部按钮的点击事件,不要在Adapter中响应? 对于这个问题,我最初给他的解答是,在Adapter中定义一个回调接口,在Activity中实现该接口,从而实现对点击事件的响应. 下班后思考了一下,觉得有两种方式都能比较好的实现:使用接口回调和使用抽象类回调. 正好可以复习一下接口和抽象类的区别,于是写了两个Demo: 1.使用接口回调: Adapter类 1 package com.ivan.adapter; 2 3

在Activity中响应ListView内部按钮的点击事件的两种方法

转载:http://www.cnblogs.com/ivan-xu/p/4124967.html 最近交流群里面有人问到一个问题:如何在Activity中响应ListView内部按钮的点击事件,不要在Adapter中响应? 对于这个问题,我最初给他的解答是,在Adapter中定义一个回调接口,在Activity中实现该接口,从而实现对点击事件的响应. 下班后思考了一下,觉得有两种方式都能比较好的实现:使用接口回调和使用抽象类回调. 正好可以复习一下接口和抽象类的区别,于是写了两个Demo: 1.

在Eclipse中开发Android程序时截屏的方法

在Eclipse中调试Android程序时,有时需要将程序截图保存到电脑中.步骤如下: Window --- Show View --- Other : 在弹出的窗口中,选择 Devices : 在打开的Device选项卡中,选择要截图的设备或模拟器,然后点击旁边的截图按钮: 在弹出的窗口中,点击 Save 按钮,将程序截图保存到指定的目录中即可.

下载并在Eclipse中关联Android源码

大家都知道文档写的好当然让人很舒服,但是有时候文档再好也不如直接看源码来的直接,既然Android是开源的,为什么不在eclipse里直接看它的源码呢? 1.下载源码 这部分网上有大量的资料,我就不重新写了 2.在eclipse中关联源码 常用eclipse的人对在eclipse中关联源码的操作应该也都很熟悉. 一.找到项目中的android.jar,右键→properties 二.选择External Folder来关联到外部文件夹 三.选择%存放源码的目录%/base/core/java→o

(转载)Android xml资源文件中@、@android:type、@*、?、@+引用写法含义以及区别

原帖地址:http://blog.csdn.net/zfrong/article/details/7332545 Android xml资源文件中@.@android:type.@*.?.@+引用写法含义以及区别 一[email protected]代表引用资源 1.引用自定义资源.格式:@[package:]type/name android:text="@string/hello" 2.引用系统资源.格式:@android:type/name android:textColor=&

cocos2d-x3.2中添加Android手机震动

本人宣布从此博文发出后,我的cocos2dx的引擎从cocos2dx3.1.1跳到cocos2dx3.2,哈哈,其实变化不大的,不碍事~~~ 下面来说说在cocos中添加Android手机震动的功能,亲身体验,网上的教程都是渣渣啊,坑比的很,还要看了原帖http://www.cocos2d-x.org/boards/6/topics/8179,全英文的,蛋疼恼火了许久,才解决~~ 下面进入正题.相信看完本文,什么问题都ok了!!!! 1.在proj.android这个目录下 AndroidMan

Eclipse中添加Android系统jar包

这样做的好处是,可以使用Eclipse开发系统应用了,这样可以调用系统中才使用的API. 1.首先在项目中右击->属性.如图所示依次操作 2.添加User Library 3.第一次要新建User Library名字 注:一定要勾选上System library(addedto the boot class path)否则会出现错误1. 4.添加jar包 2.${ANDROID_SOURCE}/out/target/common/obj/JAVA_LIBRARIES/framework_inte

Android xml资源文件中@、@android:type、@*、?、@+含义和区别

一[email protected]代表引用资源 1.引用自定义资源.格式:@[package:]type/name android:text="@string/hello" 2.引用系统资源.格式:@android:type/name android:textColor="@android:color/opaque_red" 注意:其实@android:type/name是@[package:]type/name 的一个子类 二[email protected]*

Eclipse中查看Android模拟器SD卡目录

有时候用到Android模拟器来模拟SD卡相关操作,在Eclipse中可以直接查看SD卡目录: 首先,新建模拟器的时候要创建SD卡,存储的大小根据需要创建: 启动模拟器,在Eclipse中打开视图窗口:Window--Show View--File Explorer: 可以看到下面有mnt目录,mnt--sdcard 就是SD卡的目录, 也就是代码中 Environment.getExternalStorageDirectory()  的目录: 这样就可以很直观的看到代码对sd卡的操作,比如新建