問題是我必須要說的。我需要知道如何處理Android NDK中的特殊按鍵,如back
,menu
等。我使用的是Cocos2dX,所以如果你能給我一個Cocos2dX特定的答案,那就太棒了。Android NDK:如何處理Cocos2dx中的後退按鍵?
5
A
回答
7
在cocos2dx,各CCLayer
獲取可重寫功能添加到他們下面的方法:
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
繼承CCKeypadDelegate
。每個屏幕都可以實現這些功能。
1
在cocos2d-x 你要做的是 實現
virtual void keyBackClicked();
而且這個
this->setKeyPadEnable(true);
中的.cpp類
1
啓用鍵盤:this->setKeypadEnabled(true);
覆蓋onKeyReleased m ethod: virtual void onKeyReleased(EventKeyboard::KeyCode keyCode, Event* event);
檢查鍵代碼:
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
如果你的類不與CClayer
繼承,那麼你可以通過電話JNI
處理此。 在Cocos2dxGLSurfaceView.java
你處理背面和onKeyDown
功能菜單鍵
public boolean onKeyDown(final int pKeyCode, final KeyEvent pKeyEvent)
相關問題
- 1. 處理android後退按鈕
- 2. Android - 處理後退按鈕
- 3. Android:在asynctask中處理後退按鈕
- 4. Android後退按鈕在Appcelerator中處理
- 5. 處理按下android後退按鈕,而鍵盤可見
- 6. 處理後退按鈕的Android(onBackPressed)
- 7. 如何處理我的Android設備中的後退按鈕
- 8. Phonegap Build:如何處理Android中的後退按鈕?
- 9. Viewflipper如何處理Android中的後退按鈕?
- 10. 處理後退按鈕
- 11. 如何可能處理後退按鈕
- 12. 在jquery中處理後退按鈕
- 13. 如何處理退格鍵
- 14. Zxing處理後退按鈕
- 15. 處理後退按鈕
- 16. 後退按鈕處理wp7
- 17. 後退按鈕處理
- 18. 如何處理uitextfield中的退格鍵
- 19. Google在退出後如何處理後退按鈕?
- 20. 如何避免[navpush]生成的後退按鈕(處理生成後退按鈕)
- 21. 如何處理碎片中的後退鍵?
- 22. 如何處理輸入按鍵android
- 23. Android的完整動作使用'後退按鈕按下處理
- 24. 如何在Android中的活動中使用DrawerLayout時處理後退按鈕?
- 25. 處理jQuery Mobile中的Android後退按鈕
- 26. 在Android上的MonoGame中處理後退按鈕
- 27. 單擊後退按鈕後處理GUI
- 28. 設置Cygwin的+ Android的NDK + cocos2Dx與Eclipse
- 29. 如何處理按UWP的後退按鈕
- 30. 如何使用Phonegap處理iOS上的後退按鈕?
我想你可能需要添加setKeypadEnabled(真);在某個地方讓它工作。 –
只要確定您使用的是coco2d-x 2.1或更高版本。 – Ankur