在cocos2dx中加载CocoStudio

  1. 添加引用
    #include "cocos-ext.h"
    
    using namespace cocos2d::gui;
    using namespace cocos2d::extension;  
    
    USING_NS_CC;


  2. 加载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));


  3. 加载动画
    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);


  4. 加载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;
      }
    }
     

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值