如何调用cocostudio创建场景中的按钮控件

 我来答
莱特信息科技有限公司
2017-02-13 · 北斗教学产品提供者
莱特信息科技有限公司
我公司是以北斗/GPS教学实训平台及无人机、通讯车等数据信息传输设备为核心的企业。
向TA提问
展开全部

一、调用cocostudio创建场景中的按钮控件实现步骤:

1、首先使用cocostudio创建两个场景,在其中一个场景中添加一个了使用cocostudio创建的ui按钮控件,实现代码如下:

2、按钮单击相应函数如下:

二、使用工具及知识点:cocostudio、函数知识,控件使用。

三、注意事项:以上代码的使用前提是你要对cocostudio的使用有一定熟悉,一些加载的头文件也得注意还要就是using namespace
XXX的添加。

kick宋仕韵x
2016-10-14 · 超过23用户采纳过TA的回答
知道答主
回答量:47
采纳率:20%
帮助的人:31.6万
展开全部
如何调用cocostudio创建场景中的按钮控件
cocos2d::gui::TouchGroup* touchGroup = static_cast<cocos2d::gui::TouchGroup*>(render->getNode());
UIWidget* widget = static_cast<UIWidget*>(touchGroup->getWidgetByName("Panel_20"));
UIButton* button = static_cast<UIButton*>(widget->getChildByName("Button_24"));
//为按钮添加触控事件
button->addTouchEventListener(this, toucheventselector(MenuScene::touchEvent));

return pNode;
}

[cpp] view plaincopyprint?

cocos2d::CCNode* MenuScene::createGameScene()

{

CCNode *pNode = SceneReader::sharedSceneReader()->createNodeWithSceneFile("yourJson.json");//加载第一个场景

if (pNode == NULL)

{

return NULL;

}

_node = pNode;

//从场景中获取ui按钮控件

CCComRender *render = static_cast<CCComRender*>(_node->getChildByTag(10013)->getComponent("GUIComponent"));

cocos2d::gui::TouchGroup* touchGroup = static_cast<cocos2d::gui::TouchGroup*>(render->getNode());

UIWidget* widget = static_cast<UIWidget*>(touchGroup->getWidgetByName("Panel_20"));

UIButton* button = static_cast<UIButton*>(widget->getChildByName("Button_24"));

//为按钮添加触控事件

button->addTouchEventListener(this, toucheventselector(MenuScene::touchEvent));

return pNode;

}
cocos2d::CCNode* MenuScene::createGameScene()
{
CCNode *pNode = SceneReader::sharedSceneReader()->createNodeWithSceneFile("yourJson.json");//加载第一个场景
if (pNode == NULL)
{
return NULL;
}
_node = pNode;

//从场景中获取ui按钮控件
CCComRender *render = static_cast<CCComRender*>(_node->getChildByTag(10013)->getComponent("GUIComponent"));
cocos2d::gui::TouchGroup* touchGroup = static_cast<cocos2d::gui::TouchGroup*>(render->getNode());
UIWidget* widget = static_cast<UIWidget*>(touchGroup->getWidgetByName("Panel_20"));
UIButton* button = static_cast<UIButton*>(widget->getChildByName("Button_24"));
//为按钮添加触控事件
button->addTouchEventListener(this, toucheventselector(MenuScene::touchEvent));

return pNode;
}

按钮单击相应函数如下:

[cpp] view plaincopyprint?

void MenuScene::touchEvent(CCObject *pSender, TouchEventType type)
{
CCScene *pScene = GetReadyScene::scene();//创建你需要切换的场景对象
CCDirector::sharedDirector()->replaceScene(pScene);
}

[cpp] view plaincopyprint?

void MenuScene::touchEvent(CCObject *pSender, TouchEventType type)

{

CCScene *pScene = GetReadyScene::scene();//创建你需要切换的场景对象

CCDirector::sharedDirector()->replaceScene(pScene);

}
void MenuScene::touchEvent(CCObject *pSender, TouchEventType type)
{
CCScene *pScene = GetReadyScene::scene();//创建你需要切换的场景对象
CCDirector::sharedDirector()->replaceScene(pScene);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式