De retour à Domicile et de boutons pressés d'événements pour les appareils Android (cocos2d-x 3)

StackOverflow https://stackoverflow.com//questions/24049840

Question

Je l'ai fait attraper Home et Back boutons événements de presse sur les appareils android:

Surdéfini void Layer::onKeyReleased(EventKeyboard::KeyCode keyCode, Event* event) fonction comme ceci:

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
    }
}

ont également appelé setKeypadEnabled(true); dans init la fonction de MyLayer.Retour arrière bouton ferme le jeu sur windows, mais pas de réaction sur le bouton Home.Sur Android, rien ne se passe lorsque j'appuie sur la Maison ou à l'Arrière.Comment obtenir ce travail sur cocos2d-x 3.1?

Était-ce utile?

La solution

Pour la capture de bouton de Retour, vous devez utiliser EventKeyboard::KeyCode::KEY_ESCAPE.Pour mettre en pause le jeu lorsque la Maison est pressé vide AppDelegate::applicationDidEnterBackground().Il n'existe aucun moyen pour remplacer bouton home poussé de l'événement.

Autres conseils

Vous pouvez utiliser EventKeyboard::KeyCode::KEY_BACK ou EventKeyboard::KeyCode::KEY_ESCAPE pour la capture de l'Android bouton de retour de l'événement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top