这些功能都在陆续添加中,预计下个月能够发布跨平台版本。
请问哪能找到cocostudio的使用说明文档呢?官网的用户文档都几年没更新了!!百度也搜不到,真是神了啊!软件更新了那么多版本就是不更新用户手册啊!给鬼用啊!
如果是最新的应该可以用的,但是使用的是timeline类型。这两天会出一个相关教程。
刚刚按照教程,改成用
dynamic_cast<Layout*>(cocostudio::timeline::NodeReader::getInstance()->createNode(“res/Game/Game.json”));
来读取 Mac 版导出的 .json UI 工程,失败在
cocostudio::ActionTimeline::CCNodeReader.cpp 的
Node* NodeReader::loadNodeWithContent(const std::string& content)
{
…
SpriteFrameCache::getInstance()->addSpriteFramesWithFile(plist, png);
…
}
因为库代码是"假设" ,json 里的
“textures”: 和 “texturesPng”: 是一一对应的:
…
for(int i=0; i<length; i++)
{
std::string plist = DICTOOL->getStringValueFromArray_json(doc, TEXTURES, i);
std::string png = DICTOOL->getStringValueFromArray_json(doc, TEXTURES_PNG, i);
plist = _jsonPath + plist;
png = _jsonPath + png;
SpriteFrameCache::getInstance()->addSpriteFramesWithFile(plist, png);
}
…
而实际上这个"假设" 并不成立,我用最新的 Mac 和 Win 版导出的 .json 都大概如此
“textures”:
“btn.plist”,
“end0.plist”,
“game-chat.plist”,
…
],
“texturesPng”:
“gun.plist”,
“im_aimto_line.png”,
“im_mygun_left.png”,
…
可以看到,并不构成一一对应的关系。而 Win 版导出的 .json 文件,用以前的
cocostudio::GUIReader::getInstance()->widgetFromJsonFile(…)
去加载,是没有问题的
然后,我把库代码改成这样,读取是没问题了,但又引起下一贴的问题
// decode plist
int length = DICTOOL->getArrayCount_json(doc, TEXTURES);
#if 0
for(int i=0; i<length; i++)
{
std::string plist = DICTOOL->getStringValueFromArray_json(doc, TEXTURES, i);
std::string png = DICTOOL->getStringValueFromArray_json(doc, TEXTURES_PNG, i);
plist = _jsonPath + plist;
png = _jsonPath + png;
SpriteFrameCache::getInstance()->addSpriteFramesWithFile(plist, png);
}
#else
for(int i=0; i<length; i++)
{
std::string plist = DICTOOL->getStringValueFromArray_json(doc, TEXTURES, i);
plist = _jsonPath + plist;
SpriteFrameCache::getInstance()->addSpriteFramesWithFile(plist);
}
length = DICTOOL->getArrayCount_json(doc, TEXTURES_PNG);
for(int i=0; i<length; i++)
{
std::string file = DICTOOL->getStringValueFromArray_json(doc, TEXTURES_PNG, i);
if (file.length() >= 6 && strcmp(file.c_str() + file.length() - 6, ".plist") == 0) {
file = _jsonPath + file;
SpriteFrameCache::getInstance()->addSpriteFramesWithFile(file);
} else {
file = _jsonPath + file;
Director::getInstance()->getTextureCache()->addImage(file);
}
}
#endif
因为 Mac 版都自作主张的,加了一个根 Node,比如我以前 Win 版的树结构是
rootWidget
->Other
Mac 自动变成
Node
->rootWidget
->Other
所以
dynamic_cast<Layout*>(cocostudio::timeline::NodeReader::getInstance()->createNode(“res/Game/Game.json”));
这一步的 dynamic_cast<Layout*> 或 dynamic_cast<Widget*> 都是错误的,这是个 Node,不是 Layout 也不是 Widget,所以代码大概得改成这样,程序才正确运作。但是又引起下一贴的问题
#if 0
m_rootWidget = cocostudio::GUIReader::getInstance()->widgetFromJsonFile(“res/Game/Game.json”);
if (!m_rootWidget)
return;
addChild(m_rootWidget);
#else
Node* rootNode = cocostudio::timeline::NodeReader::getInstance()->createNode(“res/Game/Game.json”);
if (!rootNode || !rootNode->getChildrenCount())
return;
m_rootWidget = dynamic_cast<Widget*>(rootNode->getChildren().at(0));
if (!m_rootWidget)
return;
addChild(rootNode);
#endif
好了,按照上述都修改了后,UI 能装载进来了,程序也正常运作,但是,在工程里面一些已设置为”隐藏“(不可见)的也都显示出来了
还好这是个小问题,排查一下就能解决。
感谢 CocoStudio 团队开发的 Mac 版,让我摆脱了要开虚拟机跑 Win 来做 UI 的麻烦事
谢谢你的回复
我非常喜欢cocostudio,场景编辑器我觉得可以不要,完全可以用source去控制,
关于骨骼动画编辑器,非常方便而且可以看到它的进化
还有关于资源管理,不知道是不是我的管理方法不正确,管理有点不方便。
谢谢你们的努力。
下个月的版本会支持 10.10吗?
我们需要等10.10正式版本出来。
我下的这个Beta版本不能打开
我系统版本是10.8.5 
卸载再安装也是不能打开
我按照cocos Studio 在线手册中的使用方法:
CCNode *pNode = SceneReader::sharedSceneReader()->createNodeWithSceneFile(“SceneEditorTest/SceneEditorTest.json”);
在SceneReader::createObject方法的if(strcmp(className, “CCNode”) == 0)出报错,className为NULL。
请问正确的使用方法是什么,找了半天没找到正确的方法。
谢谢
能提供写信息么?是否安装成功,打开有什么提示?
大画布不能放大缩小么。。。很操蛋啊,mac版的
支持!


我得系统版本是10.8.5
我一开始装了Alpha版本,但是没有打开过,然后beta版本就出了,于是覆盖安装了beta版本
这个时候beta版本是可以打开的
然后我尝试了一下导出UI用的json,但是我的3.2版本的lua好像不能用
于是我就想换回Alpha版本看看能不能用,在应用程序里删了beta版本,接着装回Alpha版本
但是这个Alpha版本完全打不开
于是我又删除了Alpha版本,装回beta版本,悲剧了,这个beta版本也像Alpha版本那样完全打不开
后来尝试删了又装beta版本,还是一样打不开
我想问是不是除了应用程序外,其他地方也有Alpha版本的安装信息而且没有被删除
于是beta版本就完全打不开了
求助~
下面是用命令行打开的错误信息
djy2130s-iMac:MacOS djy20$ ./Cocos\ Studio
Unhandled Exception:
System.InvalidOperationException: Could not read add-in file: /Users/djy2130/.config/mono.addins/addin-db-001/addin-data/1/MonoDevelop.Ide,5.1.1.maddin —> System.InvalidOperationException: Could not read add-in description
at Mono.Addins.Addin.get_Description () in :0
at Mono.Addins.Addin.LoadAddinInfo () in :0
— End of inner exception stack trace —
at Mono.Addins.Addin.LoadAddinInfo () in :0
at Mono.Addins.Addin…ctor (Mono.Addins.Database.AddinDatabase database, System.String domain, System.String id) in :0
at Mono.Addins.Database.AddinDatabase.GetAddinForHostAssembly (System.String domain, System.String assemblyLocation) in :0
at Mono.Addins.AddinRegistry.GetAddinForHostAssembly (System.String filePath) in :0
at Mono.Addins.AddinEngine.CheckHostAssembly (System.Reflection.Assembly asm) in :0
at Mono.Addins.AddinEngine.ActivateRoots () in :0
at Mono.Addins.AddinEngine.Initialize (System.Reflection.Assembly startupAsm, System.String configDir, System.String addinsDir, System.String databaseDir) in :0
at Mono.Addins.AddinManager.Initialize () in :0
at CocoStudio.Core.MainWindow.Initialize () in :0
at CocoStudio.UI.UIBootstrapper.InitializeShell () in :0
at CocoStudio.Lib.Prism.MefExtensions.MefBootstrapper.Run (Boolean runWithDefaultConfiguration) in :0
at CocoStudio.Lib.Prism.Bootstrapper.Run () in :0
at CocoStudio.UI.Program.Main (System.String] args) in :0
FATAL UNHANDLED EXCEPTION: System.InvalidOperationException: Could not read add-in file: /Users/djy2130/.config/mono.addins/addin-db-001/addin-data/1/MonoDevelop.Ide,5.1.1.maddin —> System.InvalidOperationException: Could not read add-in description
at Mono.Addins.Addin.get_Description () in :0
at Mono.Addins.Addin.LoadAddinInfo () in :0
— End of inner exception stack trace —
at Mono.Addins.Addin.LoadAddinInfo () in :0
at Mono.Addins.Addin…ctor (Mono.Addins.Database.AddinDatabase database, System.String domain, System.String id) in :0
at Mono.Addins.Database.AddinDatabase.GetAddinForHostAssembly (System.String domain, System.String assemblyLocation) in :0
at Mono.Addins.AddinRegistry.GetAddinForHostAssembly (System.String filePath) in :0
at Mono.Addins.AddinEngine.CheckHostAssembly (System.Reflection.Assembly asm) in :0
at Mono.Addins.AddinEngine.ActivateRoots () in :0
at Mono.Addins.AddinEngine.Initialize (System.Reflection.Assembly startupAsm, System.String configDir, System.String addinsDir, System.String databaseDir) in :0
at Mono.Addins.AddinManager.Initialize () in :0
at CocoStudio.Core.MainWindow.Initialize () in :0
at CocoStudio.UI.UIBootstrapper.InitializeShell () in :0
at CocoStudio.Lib.Prism.MefExtensions.MefBootstrapper.Run (Boolean runWithDefaultConfiguration) in :0
at CocoStudio.Lib.Prism.Bootstrapper.Run () in :0
at CocoStudio.UI.Program.Main (System.String] args) in :0
mac版能创建骨骼动画吗? 没看到相关介绍
大赞!!!!!!!!!