자유롭게 이야기를 적는 공간
cocos2d-x로 만든 게임은 윈도우, 안드로이드, iOS 모두에서 돌아간다.
...는 건 일단 이론적인 것이고.
물론, 돌아간다. 하지만 귀찮은 일이 있을지 없을지
그건 해봐야 안다.
일단 SvnX를 통해서 구글코드에 있는 내 프로젝트를 가져왔다.
이건 매우 순조롭게 잘 되었다.
딱히 할 말은 없음.
그 다음은 Mac에 Cocos2d-x 설치.
템플릿이 설치가 안 된다.
한참 헤멨다.
Permission denied라고 계속 떠서 뭔가 했더니 권한 문제.
chmod 707 install-templates-xcode.sh
식으로 실행 권한을 줬다.
그 전에는 읽기, 쓰기 권한만 있었음.
이제 설치도 완료.
받아온 프로젝트를 빌드를 해봤는데.
에러 발생.
무슨 에러인고 하니, 텍스트 에러이다.
일단 윈도우랑 맥이랑 한글코드가 다르다.
윈도우에서 쓰던 한글 그대로 가져오면 깨져버린다.
그리고 wsprintf라든지 Unicode를 UTF8로 바꾸는 명령어 등은 쓸 수 없다.
이건 윈도우 전용이다.
일단 지금은 영어로 바꿔서 에러는 없앴는데,
나중에 제대로 하려면 텍스트는 외부 파일로 빼고
윈도우랑 맥은 텍스트 처리를 따로 하도록 만들어 줘야 할 거 같다.
아무튼 에러도 다 잡고 드디어 빌드.
그런데 엥?
이것이 무엇인고...
분명 화면은 가로 화면이 먹혔는데,
글자와 리소스들은 90도 회전한 상태이다.
우째 이런일이...
아무래도 윈도우에서 세팅한 좌표계랑 달리
XCode에서도 좌표를 설정해야 하는 게 있는 거 같다.
일단 오늘은 여기까지...
똥똥배
- 2013.07.06
- 21:38:31
- (*.75.34.129)
해결했습니다.
원인은 화면을 눕히는 것이 2번 일이났기 떄문.
윈도우에서는
pDirector->setDeviceOrientation(kCCDeviceOrientationLandscapeLeft);
이 부분을 통해서 화면을 가로로 눕히는데,
iOS에서는 기본적으로 생성되는 AppController와 RootViewController에서 이 작업을 하기 때문에
결국 윈도우의 소스를 그대로 가져오면 눕히기가 2번 적용되는 셈.
이를 방지하기 위해서는 위의 소스를 윈도우에서만 적용하도록 ifdef을 사용해야겠음.
iOS쪽 클래스를 고쳐서 수정할 수도 있겠지만,
이 경우에는 시뮬레이터의 화면이 가로로 안 눕혀질 것으로 예상되서 그냥 윈도우쪽을 고치는 게 나을 듯.
용사탄생2는 스마트폰 게임이었군요??