Post
cocos2d-x Text
auto label = Label::createWithTTF("Hello World", "fonts/Marker Felt.ttf", 24, Size(100, 50), TextHAlignment::LEFT);
Size(100, 50)은 폰트가 출력될 상자의 크기라고 생각하면 된다.
100은 너비, 50은 높이다.
만약 너비보다 글자가 더 길다면 다음줄로 글자가 분리된다.
테스트해보니까 띄어쓰기를 기준으로 한단어로 치부해 다음줄로 이동시킨다.
높이도 마찬가지. 높이가 모자라면 글자는 잘리거나 보이지 않는다.
TextHAlignment::LEFT는 글자를 왼쪽 정렬한다.
TextVAlignment는 상하를 정렬한다. 글자가 너무 길어서 잘리는 경우에는
TextVAlignment::TOP일 경우엔 위쪽 텍스트만, TextVAlignment::BOTTOM일 때는 마지막 테스트만 보여준다.
기본값이 TextVAlignment::TOP 인 듯하다.
cocos2d-x Text 폰트, 색, 글자 변경
label->setTextColor(Color4B(255, 150, 150, 255));
label->setString("New Test!");
label->setAnchorPoint(Vec2(0, 0));
label->enableBold();
label->enableShadow(Color4B(255, 250, 250, 255), Size(10, 10), 90);
label->enableOutline(Color4B(255, 0, 0, 255), 10);
//label->disableEffect();
label의 Anchor는 0.5, 0.5이다.
label->enableBold()로 글자를 두껍게 만들 수 있다. 그런데 내가 글자에 색상을 지정한 후 bold효과를 주니
bold효과가 있는 곳은 하얀색으로 표시가 되었다;;; 음 이런것도 고쳐야 하는건가;;;
enableShadow(Color4B(255, 250, 250, 255), Size(10, 10), 90) 의 인수는 그림자의 색상, 그림자의 위치, 마지막은 흐림범위 인것 같은데 테스트해봐도 변동이 없어서 뭔지 모르겠다.
enableOutline(Color4B(255, 0, 0, 255), 10)은 글자 외곽선 효과이다. ttf 폰트만 가능하고 첫번째 인자는 외곽색깔이라고 두번째 인자는 두께이다.
disableEffect()는 모든 효과를 삭제한다. 볼드나 그림자, 윤곽선 등... 글자 색상은 그대로 놔둔다.
cocos2d-x 한글출력
한글 폰트를 font 폴더에 넣어주고 헤더에 아래 전처리기 추가
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
#pragma execution_character_set("utf-8")
#endif
'이전게시판 > cocos-2d' 카테고리의 다른 글
Android cocos2d-x 빌드 에러 Gradle DSL method not found: 'ndkVersion()' (0) | 2024.02.29 |
---|---|
c++ 알 수 없는 재정의 지정자입니다 (0) | 2024.02.24 |
cocos2dx bool onTouchBegan(Touch* touch, Event* unused_event); 오버로드 된 멤버함수가 없습니다 (0) | 2024.02.24 |
CallFunc::create 함수에서 CC_CALLBACK_0 매크로 인자로 원하는 인수 넘기기 (0) | 2024.02.22 |
cocos2d-x4 Rect, Scale, Rotation, Flipp, Opacity, Visible, Color (0) | 2024.02.17 |
cocos2d-x 에러 수정하기 (0) | 2024.02.16 |
Cocos2d Anchor 좌표 설정(with cocos2d 기본 프로젝트) (0) | 2024.02.15 |
cocos2d github cpp-tests 프로젝트 빌드 파일 실행하기 (0) | 2024.02.14 |