본문 바로가기
Cocos2D-x

CocoStudio에서 만든 Animation을 Cocos2d-x에서 불러오기

by CodeDiver 2014. 11. 3.

CocoStudio에서 만든 Animation을 Cocos2d-x에서 불러오기


* cocos2d-x v3.3rc0에서 테스트 완료. (cocostudio v1.6에서 생성)

0. 다음을 include한다.

#include "cocostudio/CocoStudio.h"

1. 파일을 읽어온다.

cocostudio::ArmatureDataManager::getInstance()->addArmatureFileInfo
(
       "Animation/Hero/Hero0.png", //png파일.
       "Animation/Hero/Hero0.plist", //plist파일.
       "Animation/Hero/Hero.ExportJson"//ExportJson파일
);

2. Armature객체 생성.

cocostudio::Armature *armature =  cocostudio::Armature::create
(
      "Hero" //plist파일명에서 경로와 확장자와 인덱스번호를 뺀 나머지가 이름이 된다.
);

3. Armature객체를 세팅한다.
armature->getAnimation()->playByIndex(0);
armature->setScale(0.5f);
armature->setPosition(Point(winSize.width / 2, winSize.height/2));

4. 재생시킬 애니메이션이 있다면 애니메이션 이름으로 재생가능.
armature->getAnimation()->play("attack");

5. 레이어에 자식으로 추가한다.
this->addChild(armature);


영어가 되는 사람들은 알아서 찾아서 잘하겠지만, 혹시나 삽질하고 있는 사람이 있다면, 도움이 되었으면 해서 남긴다.


<출처>

http://choiarchive.blogspot.kr/2014/06/cocostudio-skeletal-animation-cocos2d-x.html


<참고-UI Editor 작업한 파일 로드방법>


#include "cocostudio/CCSGUIReader.h"

#include "ui/UILayout.h"


    auto layout = cocostudio::GUIReader::getInstance()->widgetFromJsonFile("NewUi_1/NewUi_1.json");

    addChild(layout);