首页 > 代码库 > 【Cocos2d-x】 3.x中响应Android的Back与Menu

【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

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