본문 바로가기
Cocos2D-x

[Menu] Touch Action을 지정할 수 있는 메뉴 클래스

by CodeDiver 2014. 5. 9.


Touch Action을 지정할 수 있는 메뉴 클래스


메뉴에 Normal, Touched 각각의 이미지를 지정하려면 매번 이미지 2개씩이 필요하다.

이 문제를 간단하게 해결하기 위해서 Menu 버튼눌렀을때 실행할 Action을 지정할 수 있는 클래스이다.


<적용방법>


#include "MenuEx.h"

#include "MenuItemImageEx.h"


bool Home2::CreateMenu()

{

bool bRet = false;


do

{

CCSize s = CCDirector::sharedDirector()->getWinSize();


// 버튼 액션

CCAction* clickAct   = CCScaleTo::create(0.1f, 1.1f); // 터치 액션

CCAction* unClickAct = CCScaleTo::create(0.1f, 1.0f); // 해제 액션

CCMenuEx* pMenu = CCMenuEx::create();

CCMenuItemImageEx* pItem = CCMenuItemImageEx::create("1.png", clickAct, unClickAct, this, menu_selector(Home2::menuClickCallback));

pItem->setTag(100 + 1);

pItem->setPosition(ccp(0,0));

pMenu->addChild(pItem);

pMenu->setPosition(ccp(50, 0));

this->addChild(pMenu, 100);

}while(0);


return bRet;

}



void Home2::menuClickCallback(CCObject* pSender)

{

CCMenuItem *item = (CCMenuItem*)pSender;

int nTag = item->getTag();


switch(nTag) {

case 1:

break;

case 2:

break;

}

}



<소스파일>


MenuEx.zip


'Cocos2D-x' 카테고리의 다른 글

Animation 구현  (0) 2014.08.14
[cocos2d-x 3.0] ParallaxNode  (0) 2014.08.13
GraySprite Class  (0) 2014.04.24
v2.2.2 변환 오류 해결방법-1  (0) 2014.03.04
개발한 유아용 App  (0) 2013.10.02