Cocos Studio for Mac을 v3.2에서 억지로 사용
12697 단어 CocosStudioForMaccocos2d-xcocoStudio
소개
아직 CocosStudio for Mac은 v3.x계에 대응하고 있지 않으므로, 아무래도 Mac판이 사용하고 싶다! ! ! 라고 사람 전용입니다.
확실히 사용되지 않는 절차입니다. 이용시에는 주의해 주십시오
억지로 개수하다
문제점의 습관
우선, v3.x계에서 왜 움직이지 않는지를 간단하게 드러낸다.
문제점의 습관
우선, v3.x계에서 왜 움직이지 않는지를 간단하게 드러낸다.
widgetTree
대신 nodeTree
입니다 Node
가됩니다 Node
의 WidgetReader 클래스가 없다 개수 순서 1:widgetTree는 nodeTree라고 한다
cocos2d/editor-support/cocostudio/CCSGUIReader.cpp(1176행 정도) 수정 전
Widget* WidgetPropertiesReader0300::createWidget(const rapidjson::Value& data, const char* fullPath, const char* fileName)
{
// ~ 省略 ~
const rapidjson::Value& widgetTree = DICTOOL->getSubDictionary_json(data, "widgetTree");
// ~ 省略 ~
}
cocos2d/editor-support/cocostudio/CCSGUIReader.cpp(1176행 정도) 수정 후
Widget* WidgetPropertiesReader0300::createWidget(const rapidjson::Value& data, const char* fullPath, const char* fileName)
{
// ~ 省略 ~
const rapidjson::Value& widgetTree = DICTOOL->getSubDictionary_json(data, "nodeTree");
// ~ 省略 ~
}
개수 순서 2 : Node는 Layout이라고 한다
cocos2d/editor-support/cocostudio/CCSGUIReader.cpp(1428행 정도) 수정 전
Widget* WidgetPropertiesReader0300::widgetFromJsonDictionary(const rapidjson::Value& data)
{
const char* classname = DICTOOL->getStringValue_json(data, "classname");
const rapidjson::Value& uiOptions = DICTOOL->getSubDictionary_json(data, "options");
Widget* widget = this->createGUI(classname);
// CCLOG("classname = %s", classname);
std::string readerName = this->getWidgetReaderClassName(classname);
WidgetReaderProtocol* reader = this->createWidgetReaderProtocol(readerName);
// ~ 省略 ~
}
cocos2d/editor-support/cocostudio/CCSGUIReader.cpp(1428행 정도) 수정 후
Widget* WidgetPropertiesReader0300::widgetFromJsonDictionary(const rapidjson::Value& data)
{
const char* classname = DICTOOL->getStringValue_json(data, "classname");
const rapidjson::Value& uiOptions = DICTOOL->getSubDictionary_json(data, "options");
Widget* widget = this->createGUI(classname);
// CCLOG("classname = %s", classname);
// widget生成できなかったやつ 且つ NodeならLayoutということにする
if (!widget && std::strcmp(classname, "Node") == 0) {
classname = "Layout";
widget = Layout::create();
}
std::string readerName = this->getWidgetReaderClassName(classname);
WidgetReaderProtocol* reader = this->createWidgetReaderProtocol(readerName);
// ~ 省略 ~
}
CocosStudio로 화면을 만들고 통합
CocosStudio로 화면을 만들고 내보내기
만든 화면
Node
|- Layout
|- Layout
| |- Text
|- Image
|- Image
파일 -> 내보내기 프로젝트
Export의 option은 그대로 좋다. 모든 리소스 파일을 가져올까요? 라든가 그런 설정이므로.
Cocos2d-x 프로젝트에 내장
내보낸 파일을 Add File
프로젝트의 Resources 아래에 Export한 것을 통째로 퍼뜨려 Add File 해 주세요.
480x320으로 만들었으므로 DesignResolutionSize 변경
CocosStduio로 만드는 화면의 크기에 맞지 않으면 아마 조정이 여러가지 힘들 것입니다.
AppDelegate.cppbool AppDelegate::applicationDidFinishLaunching() {
// ~ 省略 ~
// CocosStudioで作ったレイアウトサイズにする
glview->setDesignResolutionSize(480, 320, ResolutionPolicy::SHOW_ALL);
// ~ 省略 ~
}
Scene에 배치
드디어 구현입니다. include도 잊지 않고.
HelloWorldScene.cpp#include "HelloWorldScene.h"
#include "cocostudio/CocoStudio.h"
USING_NS_CC;
using namespace cocostudio;
bool HelloWorld::init()
{
// ~ 省略 ~
// CocosStudioのLayout読み込み
auto layout = GUIReader::getInstance()->widgetFromJsonFile("NewProject_1/NewProject_1.json");
this->addChild(layout);
return true;
}
단 두 줄입니다.
실행 결과
이상이 됩니다.
세세한 부분까지 검증하지 않기 때문에, 여러가지 문제가 있을지도 모릅니다.
아무래도 CocosStudio의 Mac판을 사용하고 싶다고 하는 사람용이므로, 이용시는 주의해 주세요.
빨리 v3.2 대응하지 않을까~(흰눈
Reference
이 문제에 관하여(Cocos Studio for Mac을 v3.2에서 억지로 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kyokomi/items/9e3dea9325047940f3e0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Node
|- Layout
|- Layout
| |- Text
|- Image
|- Image
bool AppDelegate::applicationDidFinishLaunching() {
// ~ 省略 ~
// CocosStudioで作ったレイアウトサイズにする
glview->setDesignResolutionSize(480, 320, ResolutionPolicy::SHOW_ALL);
// ~ 省略 ~
}
#include "HelloWorldScene.h"
#include "cocostudio/CocoStudio.h"
USING_NS_CC;
using namespace cocostudio;
bool HelloWorld::init()
{
// ~ 省略 ~
// CocosStudioのLayout読み込み
auto layout = GUIReader::getInstance()->widgetFromJsonFile("NewProject_1/NewProject_1.json");
this->addChild(layout);
return true;
}
Reference
이 문제에 관하여(Cocos Studio for Mac을 v3.2에서 억지로 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kyokomi/items/9e3dea9325047940f3e0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)