La domanda è tutto ciò che ho da dire al riguardo. Devo sapere come gestire i tasti speciali come back
, menu
ecc. In Android NDK. Sto usando Cocos2dX quindi se potessi darmi una risposta specifca su Cocos2dX sarebbe fantastico.NDK Android: come gestire la pressione del tasto Indietro in Cocos2dx?
5
A
risposta
7
In cocos2dx, ogni CCLayer
ottiene i seguenti metodi che possono essere sovrascritte per aggiungere funzionalità a loro:
class CC_DLL CCKeypadDelegate
{
public:
// The back key clicked
virtual void keyBackClicked() {}
// The menu key clicked. only avialble on wophone & android
virtual void keyMenuClicked() {};
};
CCLayer
eredita da CCKeypadDelegate
. E ogni schermo può dare attuazione a queste funzioni.
1
In Cocos2d-x quello che dovete fare che implementano
virtual void keyBackClicked();
e anche questo
this->setKeyPadEnable(true);
in classe cpp
1
Abilitazione tastiera: this->setKeypadEnabled(true);
Override onKeyReleased m etodo: virtual void onKeyReleased(EventKeyboard::KeyCode keyCode, Event* event);
Controllare keyCode:
void GameScene::onKeyReleased(EventKeyboard::KeyCode keyCode, cocos2d::Event *event)
{
if (keyCode == EventKeyboard::KeyCode::KEY_BACKSPACE) {
CCLOG("You pressed back button");
}
else if(keyCode == EventKeyboard::KeyCode::KEY_MENU)
{
CCLOG("You pressed menu button");
}
}
0
Se la classe non è ereditare con CClayer
, allora si può gestire questo attraverso JNI
chiamate. In Cocos2dxGLSurfaceView.java
si maniglia posteriore e il tasto menu dal onKeyDown
funzione
public boolean onKeyDown(final int pKeyCode, final KeyEvent pKeyEvent)
Problemi correlati
- 1. Come rilevare la pressione del tasto enter in vaadin TextArea
- 2. ADB Android: Simula la pressione del tasto App recente
- 3. Python - Rileva la pressione del tasto
- 4. Come attivare la pressione di tasto invio
- 5. Come rilevare la pressione del tasto "Invio" nel reagente?
- 6. Come impostare la pressione del tasto su un nastro?
- 7. Come gestire gli eventi di pressione del tasto in un'applicazione della console Qt?
- 8. Utilizzo di KBDLLHOOKSTRUCT per determinare la prima pressione del tasto
- 9. Come attendere la pressione di un tasto in R?
- 10. Come rilevare la pressione di tasto ctrl-t in Delphi
- 11. Come rilevare la pressione di un tasto in Angular 2?
- 12. Gestire il tasto Indietro quando viene estratto l'ultimo frammento
- 13. libgdx-android: intercettazione del tasto indietro e conferma uscita
- 14. AlertDialog respinto alla pressione indietro
- 15. Ascolta pressione del tasto per il documento in reactjs
- 16. Come gestire il tasto "Su"?
- 17. Android simula la pressione di una chiave
- 18. Il pulsante indietro Android non funziona
- 19. La pressione di Indietro fa sempre terminare l'attività()?
- 20. Come ottenere la posizione del cursore del testo dopo l'evento della pressione di un tasto?
- 21. tasto asp e la storia indietro OnClientClick
- 22. Controllare se è stato premuto il tasto Indietro in Android?
- 23. NDK Android: Come sovrascrivere suBackPressato in NativeActivity senza java?
- 24. Aggiornamento del conteggio del carrello alla pressione del pulsante Indietro dopo la cancellazione
- 25. Come distinguere tra la pressione lunga dei tasti e la pressione normale dei tasti?
- 26. Metodo Python per la lettura della pressione di un tasto?
- 27. Come posso simulare una pressione di un tasto in JavaScript?
- 28. come disabilitare il collasso della vista di ricerca sul tasto indietro premuto android
- 29. Trigger pressione tasto (keydown) con jQuery
- 30. VB Simula una pressione di tasto
Penso che potrebbe essere necessario aggiungere setKeypadEnabled (true); da qualche parte per farlo funzionare. –
Assicurati di utilizzare coco2d-x 2.1 o versione successiva. – Ankur