안드로이드는 보통 프로세스를 종료하기 위해서 백 버튼을 사용합니다. Apportable으로 안드로이드 포팅시 기본적으로 백 버튼은 아무런 반응도 하지 않습니다.
아래 링크를 참조해서 구현 할려니 뭔가 제대로 되지 않습니다. 다들 v3 미만의 버전의 가이드 인것 같습니다.
http://docs.apportable.com/uikit-extensions.html#uiresponder
https://groups.google.com/forum/#!topic/apportable-discuss/992hX9vEdTw
https://groups.google.com/forum/#!topic/apportable-discuss/V9lMn188jqE
그나마 힌트를 얻은게 ViewController 단에서 구현하라. becomeFirstResponder 메소드를 직접 호출하라. 이 2개입니다.
그래서 삽질로 appDelegate에서 [rootviewController becomeFirstResponder]; 를 호출하니 안 먹습니다.
cocos2d v3에서 RootViewController는 CCDirector 입니다. 그래서 init 메소드의 가장 하단에 아래코드를 넣으면 잘 동작합니다. 기본적으로 종료만 되도록 하는 코드를 아래 링크를 참조했습니다.
https://gist.github.com/sdabet/5719684
//Back button support
#ifdef ANDROID
[self becomeFirstResponder];
#endif
}
return self;
}
//Back button support
#ifdef ANDROID
- (BOOL) canBecomeFirstResponder
{
return YES;
}
- (void)buttonUpWithEvent:(UIEvent *)event
{
CCLOG(@"Button event fired");
switch (event.buttonCode)
{
case UIEventButtonCodeBack:
// Back button is pressed
// Pop current scene
[[CCDirector sharedDirector] popScene];
// Terminate the app if scene stack is empty
if([[CCDirector sharedDirector] runningScene] == nil) {
exit(0);
}
break;
case UIEventButtonCodeMenu:
// show menu if possible.
break;
default:
break;
}
}
#endif
끗
'iDev > Cocos2D' 카테고리의 다른 글
GameController 사용시 화면 꺼짐 모드 방지 (0) | 2014.03.22 |
---|---|
Cocos2d Sprite Animation 변경하기 (0) | 2014.03.20 |
cocos2d mac에서 현재 윈도우 화면 캡쳐하기 (0) | 2014.03.15 |
Apportable Android에 Admob 적용하기 (3) | 2014.03.15 |
cocos2d, Apportable Antialias 버그 (0) | 2014.03.14 |