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

在cocos2dx中加载CocoStudio

2014-01-15 17:55 417 查看
添加引用
#include "cocos-ext.h"

using namespace cocos2d::gui;
using namespace cocos2d::extension;

USING_NS_CC;


加载UI

Widget *widget = GUIReader::getInstance()->widgetFromJsonFile("DemoShop/DemoShop.ExportJson");

this->addChild(widget ,0);
m_pUILayer = UILayer::create();
m_pUILayer->scheduleUpdate();
addChild(m_pUILayer);
Layout* shop_root = static_cast<Layout*>(GUIReader::shareReader()->widgetFromJsonFile("TestButton/TestButton_1.ExportJson"));
m_pUILayer->addWidget(shop_root);


获取UI组件并添加点击事件
UIButton* loginBtn = dynamic_cast<UIButton*>(widget->getChildByTag(3));
loginBtn->addTouchEventListener(this,toucheventselector(HelloWorld::touchButton));


加载动画
CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("Player/DemoPlayer0.png","Player/DemoPlayer0.plist","Player/DemoPlayer.ExportJson");
CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("Player/DemoPlayer1.png","Player/DemoPlayer1.plist","Player/DemoPlayer.ExportJson");

armature = CCArmature::create("DemoPlayer");

//播放指定动作
armature->getAnimation()->playByIndex(0);

//修改属性
armature->setScale(0.1f);

//设置动画精灵位置
armature->setPosition(ccp(100,100));

//添加到当前页面
this->addChild(armature,2);


加载scene
// 加载scene
CCNode *pNode = SceneReader::sharedSceneReader()->createNodeWithSceneFile("jack.json");
this->addChild(pNode);


获取UI组件并添加点击事件
CCComRender *pUIRender = static_cast<CCComRender*>(pNode->getChildByTag(10007)->getComponent("GUIComponent"));  //UI tag and name
UILayer *pUILayer = static_cast<UILayer*>(pUIRender->getNode());
UIButton *pHPLoadingBar = static_cast<UIButton*>(pUILayer->getWidgetByName("Play"));  // button name
pHPLoadingBar->addTouchEventListener(this,toucheventselector(HelloWorld::touchButton));
void HelloWorld::touchButton(CCObject* object,TouchEventType type)
{

switch (type)
{
case TouchEventType::TOUCH_EVENT_BEGAN:
CCLog("TOUCH_EVENT_BEGAN");
break;
case TouchEventType::TOUCH_EVENT_MOVED:
CCLog("TOUCH_EVENT_MOVED");
break;
case TouchEventType::TOUCH_EVENT_ENDED:
CCLog("TOUCH_EVENT_ENDED");
break;
case TouchEventType::TOUCH_EVENT_CANCELED:
CCLog("TOUCH_EVENT_CANCELED");
break;
default:
break;
}
}


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐