从零开始学习cocoStudio(6)--场景

cocoStudio中的场景编辑器


      定义:就是把UI交互、动画人物、物理模拟等元素融合起来,如图:


从零开始学习cocoStudio(6)--场景


代码:

bool HelloWorld::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !CCLayer::init() )
    {
        return false;
    }
    
    //初始化场景
    CCNode *pFishJoyScene = SceneReader::sharedSceneReader()->createNodeWithSceneFile("FishJoy2.json");
	this->addChild(pFishJoyScene);
    //添加动画
    cocos2d::extension::ActionManager::shareManager()->playActionByName("startMenu_1.json","Animation1");
    //添加按钮
	CCMenuItemFont *itemBack = CCMenuItemFont::create("End", this, menu_selector(HelloWorld::menuCloseCallback));
    itemBack->setColor(ccc3(255, 255, 255));
    itemBack->setPosition(ccp(VisibleRect::rightBottom().x - 50, VisibleRect::rightBottom().y + 25));
    CCMenu *menuBack = CCMenu::create(itemBack, NULL);
    menuBack->setPosition(CCPointZero);
    menuBack->setZOrder(4);
    
    this->addChild(menuBack);
    
    return true;
}
这里还要补充下:

//常见一个新的场景
CCScene * newscene  = CCScene::create();
//加载导出文件并初始化根节点
CCNode *pNode = SceneReader::sharedSceneReader()->createNodeWithSceneFile("SceneEditorTest/SceneEditorTest.json");

//通过tag获取音频组件
CCComAudio *pAudio = (CCComAudio*)(pNode->getComponent("Audio"));
//播放音频
pAudio->playBackgroundMusic(pAudio->getFile(), pAudio->isLoop());
//获取comrender组件
CCComRender *pFishRender = (CCComRender*)(pNode->getChildByTag(10010)->getComponent( "butterFlyFish"));
//转换为armature
CCArmature *pButterFlyFish= (CCArmature *)(pFishRender->getNode());
pButterFlyFish->getAnimation()->playByIndex(0);
//将根节点添加到新场景
newscene->addChild(pNode, 0, 1);
//切换场景
CCDirector::sharedDirector()->replaceScene(newscene);

有关场景使用,基本就这么多了。

示例资源及代码:  https://github.com/chukong/CocoStudioSamples 

从零开始学习cocoStudio(6)--场景

上一篇:hive UDF


下一篇:sql server管理中的问题,时时更新。