De retour à Domicile et de boutons pressés d'événements pour les appareils Android (cocos2d-x 3)
-
21-12-2019 - |
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?
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.