2012-07-27 6 views
0

사용자 정의 글꼴로 메뉴를 만들려고하지만 작동하지 않습니다. 여기 제의 Info.plist의 코드가Cocos2d 사용자 정의 글꼴 예외

- (id) init 
{ 
    if (self = [super init]) 
    { 
     CGSize size = [[CCDirector sharedDirector] winSize]; 
     [CCMenuItemFont setFontName:@"PC Senior Regular"]; 
     [CCMenuItemFont setFontSize:18]; 
     CCMenuItemFont *menu1 = [CCMenuItemFont itemFromString:@"Music ON" target:self selector:@selector(musicToggle)]; 
     CCMenuItemFont *menu2 = [CCMenuItemFont itemFromString:@"Back" target:self selector:@selector(back)]; 
     CCMenu *menu = [CCMenu menuWithItems:menu1, menu2, nil]; 
     [menu setPosition:ccp(size.width/2 , size.height/2)]; 
     [menu alignItemsVertically]; 
     [self addChild:menu]; 
    } 

: 여기 코드입니다

<key>UIAppFonts</key> 
    <array> 
     <string>PC Senior Regular.ttf</string> 
     <string>senior.ttf</string> 
    </array> 

예외 :

2012-07-27 05:42:35.369 Busterball[16089:10a03] In options 
2012-07-27 05:42:35.371 Busterball[16089:10a03] -[__NSCFConstantString sizeWithZFont:]: unrecognized selector sent to instance 0xb0670 
2012-07-27 05:42:35.372 Busterball[16089:10a03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantString sizeWithZFont:]: unrecognized selector sent to instance 0xb0670' 

난 그냥 수석 senior.ttf를 사용하여 시도했다, 두 글꼴 모두 프로젝트의 대상으로 추가됩니다. 올바른 유형의 케이스를 두 번 확인했습니다. 무엇이 잘못 되었나요?

+0

이 "sizeWithZFont"메소드는 어디에서 가져 옵니까? – Selkie

+0

@Selkie 나는이 방법이 없다, 나는 그것이 cocos2d 방법이라고 생각한다. – Dvole

+0

나는 그것이 글꼴의 문제라고 생각하지 않는다. 어쩌면 당신은 어떤 중단 점을 설정할 수 있습니다,이 예외는 어디에서 왔는지보십시오. – Selkie

답변

0

시도해 보셨습니까?

CCLabelTTF *label = [CCLabelTTF labelWithString:"Some Text" fontName:@"MyFont.TTF" fontSize:24.0]; 
CCMenuItem *item = [CCMenuItemLabel itemWithLabel:label target:self selector:@selector(myFunction)]; 
CCMenu *menu = [CCMenu menuWithItems:item]; 
[self addChild:menu]; 

귀하의 info.plist가 올바르게 보이며이 코드는 저에게 효과적입니다. 즉, 중단 점을 설정하고 오류가 어디에서 발생하는지 찾으려는 것이 좋습니다.

0

잘못된 인수 예외는 인식 할 수없는 방법을 사용하려고한다는 것을 의미합니다. 문제는 sizeWithZFont 메서드입니다. 나는 cocos2d 문서에서 검색하려고 시도했지만 거기에는 그 방법이 없다.