블로그 이미지
게임같은 인생 인생같은 게임 준앤빈

카테고리

분류 전체보기 (12)
준&빈 (1)
나만의 개념 챙기기 (2)
My Story (0)
cocos2d-x (7)
My Games (0)
My_Work (0)
Etc (2)
Total6,634
Today2
Yesterday0



CCLabelBMFont *M_MakeLabel(float x, float y, const char *str, int align, float fontSize)

{

    float size = fontSize*mg.factor/52.0f;

    

    CCLabelBMFont *label = CCLabelBMFont::create(str, "BDFont.fnt");

    label->retain();    // 이 부분을 빼 놓으면 실행시 에러 발생!!

    

    label->setAnchorPoint(CCPointMake(0, 1));

    label->setPosition(CCPointMake(x, y));

    

    switch (align) {

        case 1:

            label->setAnchorPoint(CCPointMake(0.5, 0.5));

            label->setAlignment(kCCTextAlignmentCenter);

            break;

            

        case 2:

            label->setAnchorPoint(CCPointMake(1, 1));

            label->setAlignment(kCCTextAlignmentRight);

            break;

            

        default:

            label->setAnchorPoint(CCPointMake(0, 1));

            label->setAlignment(kCCTextAlignmentLeft);

            break;

    }

    

    label->setScale(size);

    label->setString(str);

    

    return label;

}


cocos2d-x 클래스는 retain()과 release()로 메모리를 관리한다.

특히 클래스를 메소드 내에서 선언하여 전역적으로 사용할 경우 반드시 retain()를 해줘야만 한다.

아니라면 release()이후 메모리 상에 문제가 생길 수 있다.

신고
Posted by 준앤빈

최근에 달린 댓글

최근에 받은 트랙백

글 보관함