La pregunta es todo lo que tengo que decir al respecto. Necesito saber cómo manejar las teclas especiales como back
, menu
etc. en Android NDK. Estoy usando Cocos2dX así que si pudieras darme una respuesta específica de Cocos2dX sería genial.Android NDK: cómo manejar la tecla Atrás para presionar en Cocos2dx?
5
A
Respuesta
7
En cocos2dx, cada CCLayer
obtiene los siguientes métodos que pueden ser evitado para agregar funcionalidad a ellos:
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
hereda de CCKeypadDelegate
. Y cada pantalla puede dar implementación a estas funciones.
1
En Cocos2d-x que tiene que hacer que implemento
virtual void keyBackClicked();
y también esta
this->setKeyPadEnable(true);
en clase .cpp
1
Activar teclado: this->setKeypadEnabled(true);
Anulación onKeyReleased m étodo: virtual void onKeyReleased(EventKeyboard::KeyCode keyCode, Event* event);
Registro del código clave:
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
Si su clase no se heredan con CClayer
, entonces usted puede manejar esto a través de JNI
llamadas. En Cocos2dxGLSurfaceView.java
manejas hacia atrás y tecla de menú de funciones onKeyDown
public boolean onKeyDown(final int pKeyCode, final KeyEvent pKeyEvent)
Cuestiones relacionadas
- 1. Capturar la tecla Atrás presionar en PhoneGap para Android
- 2. Cerrar la aplicación al presionar el botón Atrás en Android
- 3. Cómo capturar la tecla borrar presionar C#?
- 4. Entradas en SDL (al presionar la tecla)
- 5. ¿Verificar si se presionó la tecla Atrás en Android?
- 6. Android NDK: ¿Cómo anular onBackPressed en NativeActivity sin Java?
- 7. eliminar la tecla presionar demora en javascript
- 8. Fallo al ejecutar HelloWorld cocos2dx
- 9. ¿Cómo hacer para "presionar cualquier tecla" en python?
- 10. ¿Cómo diferenciar entre presionar una tecla larga y presionar una tecla con regularidad?
- 11. JQuery Esc Presión de tecla presionar
- 12. Diferencia entre la tecla Inicio Android y la tecla Atrás y su comportamiento
- 13. Cómo detectar la tecla Atrás en mi CustomView
- 14. ¿Cómo cerrar un formulario al presionar la tecla de escape?
- 15. ¿Cómo puedo manejar la tecla ESC en la aplicación Cocoa?
- 16. jQuery código desencadenado dos veces para bind ('cambio de tecla') al presionar la tecla
- 17. Minimice la actividad en la tecla Atrás, presione
- 18. Java: Registrar <ENTER> presionar la tecla en JTextPane
- 19. Capturar presionar la tecla presionar en el campo de entrada de texto en AS3
- 20. Capturar la tecla de retroceso presionar en BlackBerry con jQueryMobile
- 21. Cómo simular MAYÚS + Tecla del mouse presionar en java
- 22. ¿Cómo puedo manejar la tecla Retorno en un control CEdit?
- 23. Cómo usar Android ndk para acceder a la cámara
- 24. Android NDK - la construcción de TessTwo (Tenedor de Tesseract Herramientas para Android) - NDK-generación falla
- 25. ¿Cómo finalizar la aplicación android NDK (actividad nativa) programáticamente?
- 26. Recargar la página al presionar el botón Atrás
- 27. Android NDK Debugging
- 28. pthread_cancel() alternativas en Android NDK?
- 29. Android NDK incremental build
- 30. jqGrid Filtro DatePicker sin presionar la tecla Entrar
Creo que es posible que tenga que añadir setKeypadEnabled (true); en algún lugar para que funcione. –
Solo asegúrese de estar utilizando coco2d-x 2.1 o superior. – Ankur