您的位置:首页 > 移动开发 > Cocos引擎

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

2014-02-23 20:38 399 查看
如何调用cocostudio创建场景中的按钮控件

首先使用cocostudio创建两个场景,在其中一个场景中添加一个了使用cocostudio创建的ui按钮控件,下面实例代码就是教你如何使用第一个场景中按钮切换到另一个场景的主要代码:

[cpp]
view plaincopyprint?





如何调用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;
}

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);
}

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


对的,就是so easy,这也是我从TestCpp里面参考直接拿来使用的,现在网上这方面的资料还是相对较少些,所以当你不知道的时候多去参考里面的实例。以上代码的使用前提是你要对cocostudio的使用有一定熟悉,一些加载的头文件也得注意还要就是using namespace XXX的添加。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐