라벨은 보통 텍스트를 출력할 때 사용한다.
라벨로 텍스트를 출력하는 방법으로는 여러가지가 있지만 보통 시스템폰트와 TTF를 주로 사용한다.
1 2 3 4 5 6 7 8 | auto score1 = Label::createWithSystemFont("score : ", "Marker Felt", 35); score1->setPosition(1080, 680); score1->setColor(Color3B(47,187,244)); score1->enableBold(); addChild(score1, 2, 501); auto score2 = Label::createWithTTF("scooore", "A Damn Mess.ttf", 34) addChild(score2, 2, 502); | 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, 0, 99); | 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 |