根据名字查找控件
需要包含的头文件及名字空间:
获取UI控件的方法如下:
m_achievementLayer = dynamic_cast<Layout*>(GUIReader::getInstance()->widgetFromJsonFile("achievements/achievements.json"));
addChild(m_achievementLayer);
Widget* scoreWidget = dynamic_cast<Widget*>(m_achievementLayer->getChildByName("ImageView_231"));
m_score = dynamic_cast<TextAtlas*>(scoreWidget->getChildByName("LabelAtlas_307"));
m_score->setStringValue("45");
添加按钮回调事件
Button* startButton = dynamic_cast<Button*>(m_achievementLayer->getChildByName("Button_336"));
startButton->addTouchEventListener(this, toucheventselector(GameScene::touchStartButton)); 利用addTouchEventListener函数就可以绑定按钮的回调事件了~
回调函数实现:
void GameScene::touchStartButton(Ref* pSender, TouchEventType type)
{
switch (type)
{
case TOUCH_EVENT_ENDED:
//do something
break;
}
}
本文介绍了如何在Cocos2d-x项目中通过名字查找UI控件并设置按钮的触摸事件回调。具体步骤包括包含必要的头文件、使用GUIReader加载JSON配置文件、获取指定名称的子控件以及为按钮添加触摸监听器。
3300

被折叠的 条评论
为什么被折叠?



