iPhone 5 전용 배경화면 패치
iPhone 4S, iPhone 4에서는 아무런 문제가 없다.
iOS에서는 *.png와 *@2x.png 로 이미지를 레티나용이냐 아니냐로 구분한다. cocos2d에서는 @2x 대신에 -hd를 사용하여 구분한다.
iPhone 5는 세로가 1136이고 iPhone 4S이하는 960이기 때문에 배경화면을 기존 -hd로 설정을 하면 공백이 생긴다.
해결을 위해서 cocos2d를 살짝 수정을 해서 iPhone 5전용 이미지를 지원하도록 패치하도록 한다.
“AppDelegate.m” 파일로 이동을 한다. (BOOL)application:didFinishLaunchingWithOptions:launchOptions 메소드에서 아래 코드 부분을 찾는다.
[sharedFileUtils setiPhoneRetinaDisplaySuffix:@"-hd"]; // Default on iPhone RetinaDisplay is "-hd"
이 부분에서 파일 확장자에 따른 이미지를 구분하게 해준다. 이 부분을 살짝 고쳐주면 iPhone 5 전용 이미지 지원이 가능하다.
setiPhoneRetinaDisplaySuffix 의 정의로 이동한다. Cmd와 왼쪽 버튼을 클릭해도 정의로 이동한다.
-(void) setiPhoneRetinaDisplaySuffix:(NSString *)suffix
{
[_suffixesDict setObject:suffix forKey:kCCFileUtilsiPhoneHD];
}
// 1.
// iPhone 5 전용 이미지 지원
-(void) setiPhone5RetinaDisplaySuffix:(NSString *)suffix
{
[_suffixesDict setObject:suffix forKey:kCCFileUtilsiPhone5HD];
}
1. iPhone 5 전용 이미지 지원을 위해서 기존 메소드를 복사 붙여넣기 해서 메소드 이름을 변경을 하고, forKey를 kCCFileUtilsiPhone5HD 로 변경한다.
“CCFileUtils.h” 로 이동한다.
-(void) setiPhoneRetinaDisplaySuffix:(NSString*)iPhoneRetinaDisplaySuffix;
아래 부분에 위에 추가한 메소드를 아래와 같이 정의 한다.
-(void) setiPhone5RetinaDisplaySuffix:(NSString*)iPhoneRetinaDisplaySuffix;
그리고 다시 “AppDelegate.mm” 파일로 이동한다.
// 1.
[sharedFileUtils setiPhone5RetinaDisplaySuffix:@"-5hd"]; // Default on iPhone 5 RetinaDisplay is "-5hd"
- iPhone 5 전용 이미지를 -5hd를 사용하여서 지원하도록 한다.
'iDev > Cocos2D' 카테고리의 다른 글
Flappy Bird 따라 만들기 (손) 연재 예정 - cocos2d v3 RC1 (4) | 2014.02.09 |
---|---|
box2d vertex 생성 도우미 VertexHelper 오픈소스 (0) | 2013.03.21 |
드래곤 플라이트 따라 만들기 - 10. 배경음악과 사운드 효과음 (6) | 2013.02.12 |
드래곤 플라이트 따라 만들기 - 9. 폭발 효과 애니메이션 (0) | 2013.02.12 |
드래곤 플라이트 따라 만들기 - 8. Head-up Display (2) | 2013.02.09 |