아이폰 용으로 레티나 디스플래이를 지원할 경우
파일명 뒤에 -hd 를 붙여 사용한다.
이때 아이패드용으로 개발 시 이 레티나용 소스를 사용해서 표현하고 싶다면
ccFileUtils.m 파일을 찾아가
뒤에 부가적으로 아이폰 일 경우에도 사용하겠다고 선언해주는 것이다.
추가적으로 이렇게 불러오는 리소스와 더불어
포인트도 아이폰용 포인트를 그대로 사용하고 싶다면 아래와 같이 인라인 함수를 하나 만들어 사용하면 편하다.
/** Returns ipad point.
@return CGPoint
*/
static inline CGPoint
CGPointMakeBothIPad(float iPhonePoint_X, float iPhonePoint_Y) {
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
return CGPointMake(iPhonePoint_X/320*768,iPhonePoint_Y/480*1024);
else
return CGPointMake(iPhonePoint_X,iPhonePoint_Y);
}
파일명 뒤에 -hd 를 붙여 사용한다.
이때 아이패드용으로 개발 시 이 레티나용 소스를 사용해서 표현하고 싶다면
ccFileUtils.m 파일을 찾아가
+(NSString*) getDoubleResolutionImage:(NSString*)path
이 함수안에
if( CC_CONTENT_SCALE_FACTOR() == 2)
위의 부분을 아래와 같이 변경해 주자
if( CC_CONTENT_SCALE_FACTOR() == 2 || (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad))
이는 레티나 디스플래이용으로 설정되었을 때 -hd 파일을 쓴다는 부분인데뒤에 부가적으로 아이폰 일 경우에도 사용하겠다고 선언해주는 것이다.
UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad
이 부분은 현재 인터페이스가 아이패드인지 확인 하는 부분
추가적으로 이렇게 불러오는 리소스와 더불어
포인트도 아이폰용 포인트를 그대로 사용하고 싶다면 아래와 같이 인라인 함수를 하나 만들어 사용하면 편하다.
/** Returns ipad point.
@return CGPoint
*/
static inline CGPoint
CGPointMakeBothIPad(float iPhonePoint_X, float iPhonePoint_Y) {
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
return CGPointMake(iPhonePoint_X/320*768,iPhonePoint_Y/480*1024);
else
return CGPointMake(iPhonePoint_X,iPhonePoint_Y);
}
'프로그래밍 > Cocos2D' 카테고리의 다른 글
CCLabelTTF - Font Stroke Demo (0) | 2012.02.06 |
---|---|
cocos2D 레티나 지원 관련 (0) | 2012.02.05 |
Cocos2D FAQ (0) | 2012.01.29 |
Cocos2D #1 - Cocos2D 튜터리얼로 간단한 아이폰 게임 만들기 (0) | 2010.07.28 |
[MammothHunting] - Cocos2D를 사용한 아이폰 게임 개발 튜토리얼 4 (0) | 2010.07.02 |