본문 바로가기

프로그래밍/cocos2d

트루타입 글꼴로 CCLabelTTF 만들기


.ttf 확장자를 가진 폰트 파일을 리소스 폴더에 추가시킵니다.

.ttf 비트맵 폰트를 만들려면 Hiero 란 프로그램을 다운 받습니다. (구글에서 검색해서 다운받으세요.) 




#import "FontManager.h" 

- (void) createLabels {

    // FontManager 이용하여 번들(bundle)에서 폰트를 읽어들입니다.

    // loadFont메소드는 성공할 경우 YES 그렇지 않을 경우 NO 돌려줍니다.

    NSString *fontName = [NSString stringWithString:@"Apple Chancery.ttf"];

    BOOL wasSucceeded = [[FontManager sharedManager] loadFont:fontName];

    

    // 실패했을 경우 사용할 시스템 폰트를 사용합니다.

    if(wasSucceeded == NO) {

        fontName = [NSString stringWithString:@"Arial"];

    }

    

    // 주의: 폰트 크기는 너무 크고 레이블의 크기가 상대적으로 작을 글자가 잘리는 현상이

    // 발생할 있습니다이럴 때는 레이블의 크기를 늘리시던가, 폰트 크기를 줄여보세요.

    self.scoreLabel = [CCLabel labelWithString:@"Score: 0"

                                    dimensions: CGSizeMake(120, 30)

                                     alignment: UITextAlignmentLeft

                                      fontName:fontName 

                                      fontSize:18];

    self.scoreLabel.anchorPoint = CGPointMake(0, 1); // 왼쪽 모서리로 잡습니다.

    self.scoreLabel.position = ccp(25, winSize.height - 10);

    [self addChild:self.scoreLabel z:kTag_Label];

    

    [self displayScore];

    

    

    self.lifeLabel = [CCLabel labelWithString:@"Life:"

                                   dimensions: CGSizeMake(120, 20)

                                    alignment: UITextAlignmentLeft

                                     fontName:@"Arial" 

                                     fontSize:18];

    self.lifeLabel.anchorPoint = CGPointMake(0, 1); // 왼쪽 모서리로 잡습니다.

    self.lifeLabel.position = ccp(winSize.width / 2 + 15, winSize.height - 10);

    [self addChild:self.lifeLabel z:kTag_Label];

    

    [self displayLife];

}