1、首先使用cocostudio创建两个场景,在其中一个场景中森拿添加一个了使用cocostudio创建的ui按钮控件,实现代码如下:
2、按钮单击相应函数如下:
二、使用工具及知识点:cocostudio、函数知识,控件悄皮使用。
三、注意事项:以上代码的使用前提是你要对cocostudio的使用有一定熟悉,一些加载的此运搭头文件也得注意还要就是using namespace
XXX的添加。
需竖大要包含的余森头文件及名字空间:?
1
2
3
<ol><li>#include "cocostudio/CocoStudio.h"</li><li></li><li>#include "ui/CocosGUI.h"</li><li></li><li>using namespace cocos2d::ui</li><li></li><li>using namespace cocostudio
注:工程中需要附加包含的头文件目录:$(EngineRoot)cocos\editor-support,因为cocostudio在此目录下。
</li></ol>
获取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")</textatlas*></widget*><余毁竖/layout*>
添加按钮回调事件
Button* startButton = dynamic_cast<button*>(m_achievementLayer->getChildByName("Button_336"))
startButton->addTouchEventListener(this, toucheventselector(GameScene::touchStartButton))</button*>
利用addTouchEventListener函数就可以绑定按钮的回调事件了~
回调函数实现:
void GameScene::touchStartButton(Ref* pSender, TouchEventType type)
{
switch (type)
{
case TOUCH_EVENT_ENDED:
//do something
break
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)