当前位置: 代码迷 >> 综合 >> cocos2dx 添加.csb文件中的控件,并赋予点击回调函数
  详细解决方案

cocos2dx 添加.csb文件中的控件,并赋予点击回调函数

热度:71   发布时间:2023-12-15 11:50:05.0

在cocostudio中做UI界面的时候,注意给控件设置tag

.h中声明方法

void addBtn(const std::string &name);

void touchBtn(cocos2d::Ref * pSender , cocos2d::ui::TouchEventType type);


.cpp中实现

void GameScene ::addBtn(const std::string & name)

{

//增加按钮事件

Button * btn = (Button *)seedNodeByName(rootNode , name);

btn->addTouchEventListence(this,touchevenselector(GameScene::touchBtn));


}

//拿.csb文件中的Button

addBtn("btn_close");

//seekNodeByName(rootNode,"btn_close") 拿到该按钮设为可见

seekNodeByName(rootNode,"btn_close")->setVisible(true);


//按钮的点击回调

void GameScene :: touchBtn(cocos2d::Ref * pSender , cocos2d::ui::TouchEventType type)

{

Button * btn =(Button *)pSender;

switch(type){

case TouEventType :: TOUCH_EVENT_BEGAN:

btn->setScale(0.9f);

break;

case TouchEventType :: TOUCH_EVENT_ENDED:

btn->stScale(1.0f);

//通过tag拿到对应的按钮

switch(btn->getTag()){

//例如tag为1001的按钮是暂停按钮

case 1001:

//这里就做暂停操作

break;

//......其他的按钮的case和对应的操作

default:

break;

}

break;

default:

break;

}

}