2014-06-05 33 views
5

:Geri ve Ev düğmeleri Android cihazlar için preslenmiş olay (Cocos2d-x 3) Bu <code>Home</code> ve <code>Back</code> düğmeleri android cihazlarda olayları basın yakalamak için yapmış

overrided void Layer::onKeyReleased(EventKeyboard::KeyCode keyCode, Event* event) işlevi aşağıdaki gibi:

void MyLayer::onKeyReleased(EventKeyboard::KeyCode keyCode, Event* event) 
{ 
    if (keyCode == EventKeyboard::KeyCode::KEY_BACKSPACE /*KeyboardEvent::KeyCode::Menu(KEY_BACKSPACE)*/) 
    { 
     CCLOG("You pressed back button"); 
     Director::getInstance()->end(); 
     exit(0); 
    } 
    else if (keyCode == EventKeyboard::KeyCode::KEY_HOME) 
    { 
     CCLOG("You pressed home button"); 
     // pause the game 
    } 
} 

da MyLayer'un init işlevinde setKeypadEnabled(true); olarak adlandırılmıştır. Backspace butonu oyunu pencerelerden kapatır, fakat Home butonu üzerinde hiçbir tepki olmaz. Ayrıca Android'de, Ana Sayfa veya Geri düğmesine bastığımda hiçbir şey olmuyor. Bu cocos2d-x 3.1 üzerinde nasıl çalışır?

+1

Android'de ev düğmesi eylemini geçersiz kılabilirsiniz. –

cevap

7

Geri Al düğmesini yakalamak için EventKeyboard::KeyCode::KEY_ESCAPE'u kullanmanız gerekir. Home düğmesine basıldığında oyunu duraklatmak için void AppDelegate::applicationDidEnterBackground() kullanın. Düğmeye basılan olayın geçersiz kılınmasının bir yolu yoktur.

2

Android geri düğmesi olayını yakalamak için EventKeyboard::KeyCode::KEY_BACK veya EventKeyboard::KeyCode::KEY_ESCAPE'u kullanabilirsiniz.