라벨은 보통 텍스트를 출력할 때 사용한다.

라벨로 텍스트를 출력하는 방법으로는 여러가지가 있지만 보통 시스템폰트와 TTF를 주로 사용한다.

1
2
3
4
5
6
7
8
auto score1 = Label::createWithSystemFont("score : ""Marker Felt"35);
score1->setPosition(1080680);
score1->setColor(Color3B(47,187,244));
score1->enableBold();
addChild(score1, 2501);
 
auto score2 = Label::createWithTTF("scooore""A Damn Mess.ttf"34)
addChild(score2, 2502);
cs


라벨의 내용과 색상은 아래와 같이 바꿀 수 있다. (자주쓰는 것만 적음)

1
2
score1->setString("012345");
score1->setColor(Color3B::RED);
cs

 



메뉴를 만들기 위해서는 메뉴아이템이 필요하다.

우선 메뉴아이템을 먼저 생성한 후에 메뉴를 생성하고 addChild를 통해 자식으로 넣어주면 된다.


메뉴아이템은 폰트, 라벨, 이미지, 스프라이트 등으로 만들 수 있다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
auto label1 = Label::createWithSystemFont("PLAY""ariel"50);
label1->setColor(Color3B::BLACK);
 
// 라벨
auto item1 = MenuItemLabel::create(label1, CC_CALLBACK_1(menu::startmenuCallback, this));
// 이미지
auto item2 = MenuItemImage::create("hi.png""hi2.png", CC_CALLBACK_1(menu::startmenuCallback, this));
// 폰트
auto item3 = MenuItemFont::create("RESTART", CC_CALLBACK_1(menu::startmenuCallback, this));
 
// 메뉴 생성
auto menu = Menu::create(item1, item2, item3, NULL);
menu->alignItemsVertically();
addChild(menu, 099);
cs

이미지는 보면 2개의 이미지가 들어가는데 평상시의 이미지선택했을 때 이미지를 넣는 것이다.

Sprite도 사용하지는 않았지만 이미지처럼 2개의 sprite를 넣으면 된다.


메뉴의 생성은 Item을 먼저 만든 후 Menu의 create에 아이템을 하나씩 넣어주면된다. 마지막은 NULL값으로 구분한다.

메뉴 아이템의 마지막에는 리스너와 마찬가지로 연결해줄 함수명을 넣는다.

1
2
3
4
5
6
7
8
9
10
void menu::startmenuCallback(Object * sender)
{
    auto item = (MenuItem*)sender;
    auto gl = (GameLayer*)getParent();
    gl->enablestart();
    //item->setVisible(false);
 
    auto pmenu1 = getChildByTag(99);
    pmenu1->removeFromParent();
}
cs


'프로그래밍 공부 > cocos2d-x' 카테고리의 다른 글

사운드 사용하기 (오디오 엔진)  (0) 2018.03.28
애니메이션 사용하기  (0) 2018.03.28
Flappy Bird 게임 만들기 - 2  (0) 2018.03.27
Flappy Bird 게임 만들기 - 1  (0) 2018.03.27
충돌체크하기  (0) 2018.03.27
Posted by misty_
,