zoukankan      html  css  js  c++  java
  • 如何在2d-x中加载CocosStudio2.0版本生成的数据

    使用Studio2.0发布的CSB资源更换了加载方式,需要用CSLoader来加载。CSLoader在Cocos2d-x3.3RC0开始提供。
    以下提供的是C++的代码,
    lua、js的接口是一样的。只有一点区别:
    CSLoader在lua中对应cc.CSLoader
    在js中对应ccs.csLoader (在2d-js3.1RC0中需要做点修改


    #include "ui/CocosGUI.h"//UI相关的头文件
    #include"cocostudio/CocoStudio.h"//在CocosStudio.h 头文件中已经包含了Studio所需要的各个头文件(除CocosGUI)因此我们使用Studio仅
    需要包含他就可以
    using namespace cocos2d;//CSLoader位于cocos2d命名空间。
    using namespace cocostudio::timeline;//动画相关的类位于cocostuio::timeline当中


    void myScene::initFunc()
    {
        //以下是加载相关的代码:
        Node *rootNode = CSLoader::createNode("MainScene.csb");//传入Studio2.x的资源路径
        this->addChild(rootNode);//假设this是即将显示的scene

        //加载动画:
        ActionTimeline *action = CSLoader::createTimeline("MainScene.csb");
        rootNode->runAction(action);

        //注!!!:同一个文件创建的节点只能使用同一个文件创建的动画。
    //嵌套节点的动画会自动加载动画,可以用嵌套节点->getActionByTag(嵌套节点->getTag()) 来获取动画


        //播放动画:
        action->gotoFrameAndPlay(0,60,true);//从第0帧到60帧循环播放。还有其他重载函数,具体看源码。


        //帧事件监听
        action->setFrameEventCallFunc(CC_CALLBACK_1(myScene::onFrameEvent, this));
        //关于CC_CALLBACK_1需要点C++11的基础才能知道是咋回事,这里只要照着写就行。想了解可以查下std::Bind

       //帧事件是可以检测到最后一帧的事件的,已测3.6


       //动画结束侦听
       action->setLastFrameCallFunc(CC_CALLBACK_0(myScene::AnimationEnd, this));
      //可以帧听到,亲测3.6。
    }
    void myScene::onFrameEvent(Frame* frame)//固定的格式
    {
        EventFrame* evnt = dynamic_cast<EventFrame*>(frame);
        if(!evnt)
            return;


        std::string str = evnt->getEvent();
        if (str == "xxoo")
        {
            CCLOG("come on baby");
        }
    }



    void XXX::AnimationEnd()
    {
    CCLOG("animation end");
    }

  • 相关阅读:
    C# Enum设计和使用的相关技巧
    Bat文件编写
    js cookie操作
    Android use custom html tag in TextView
    Charset , Encoding
    Android View (transship)
    Android About ContentProvider
    android,create text file in sdcard
    Eclipse Shortcuts
    Common Terminology
  • 原文地址:https://www.cnblogs.com/zhujiulunjian/p/6652248.html
Copyright © 2011-2022 走看看