Cocos Studio项目、资源管理(新版)

Cocos Studio1.3版本开始,提供了新的项目创建方式,同时关于资源的管理也做了较大调整,原来的资源管理方式也做了改动。今天给大家讲一下新的资源管理方式。

一、新版特性

在Cocos Studio1.3.0.0版本中的场景编辑集合UI、动画、场景项目的创建,还提供了游戏项目的创建。至此所有的Cocos Studio工程都可以由场景编辑器统一管理,而且还可以将所有的工程整合成一个游戏项目,由于资源和Cocos Studio工程都是统一管理,所以再也不用担心资源无法复用的问题了。

二、选择版本

在下载Cocos Studio时,选择对应cocos2d-x版本的安装包即可。如您使用的是cocos2d-x2.2.3版本,则您仅需下载对应的2.x版本(如上图的V1.3.0.0 +Cocos2DX 2.2.3),如果使用的是cocos2d-x3.0则下载3.x对应的版本(如上图的V1.3.0.0 +Cocos2D-X 3.0RC),如果您本地已经下载了cocos2d-x版本或者暂时不需要代码,您可以选择下载不包含cocos2d-x的安装包(上图中第一个Download v1.3.0.0)。

注意:目前cocos2d-x3.0版本是初期,多数用户及项目还停留在cocos2d-x v2.x版本。所以为Cocos Studio会持续提供cocos2d-x v2.x的版本。但是这并不意味着您使用Cocos Studio1.3版本就可以使用任意版本的cocos2d-x v2.x。因为每一次更新都会调整解析库,如果不同升级会造成数据解析异常。您如果需要升级您的工程请保持版本同步,升级后将原有的Cocos Studio工程重新导出一次并替换原有的json文件即可。

三、项目创建顺序

新的场景编辑器为了支持对所有的项目类型(UI、动画、场景),可是如果想要开始编辑场景,您就需要一个有一个游戏项目。在场景编辑器中目前做了限制,开始创建UI、动画、场景之前都要保证已经打开一个游戏项目,如果没有则必须先创建一个游戏项目。有游戏项目后就可以创建其他项目了。UI和动画是相互独立的,一般会先建立这两个再建立场景项目。当然场景项目也是可以单独创建的。

四、项目创建方式

打开菜单栏,选择“文件”-》“新建项目”-》“新建游戏项目”。

这里可以选择是否需要代码,已经对应的代码版本2x/3.0、语言类型。这个功能创建的项目是和cocso2d-x使用脚本创建的游戏项目一致。如果您选择的带代码的版本,生成项目时间教会较慢,并且生成文件夹体积较大,请保证磁盘有足够容量(空闲1GB以上)。

生成项目内包含一个.xml.ccsproj文件以及“cocostudio”文件夹。.xml.ccsproj文件是项目的入口文件,下次编辑的时候打卡该文件即可。Cocostudio文件夹下包含两个文件夹,一个是ccsprojs,它是用来存放cocostudio工程的,包括场景、UI、动画工程。另一个是
assets,这个是用来
存放资源的。

五、资源管理

Assets文件夹是专门用来存放资源的,那么这个游戏项目的所有资源都可以放在这一个文件夹内,不管这个资源是给UI界面还是动画都是放置在这一个文件夹内。

当创建一个新的cocostudio
项目(任意CocoStudio项目)时,这个项目将会默认读取这个assets
文件夹下的资源。这样可以保证资源仅仅只有一份,任何资源都是可以重复利用的。您可以同时在UI项目和动画项目中引用同一个文件,而不会像操心资源重复的问题。
虽然1.3版本提供了这个资源的整合的功能,但仍然建议您合理规划资源的管理,将相关性的文件放置在一起,将常用的资源整合在一起。关于这部分内容仍然可以参考原来的资源管理方式:

六、旧工程引入

原有的项目由于和现在的项目在资源管理上有较大区别,所以在新版本请统一使用导入工程功能导入单个项目或者老项目。
导入方法:“文件”-》“导入项目”。在展开的选项中包含了UI、动画。场景三种导入入口,选择对应的方式并选择文件即可。
导入项目后将会将原有的单个工程并入这个游戏项目内,原有的资源将会从原来的Resources文件夹移至assets文件夹内。
注意:导入前请注意检查资源是否有重名现象,保证移动资源后不会替换同名但内容不同的资源。

七、总结

新版本提供了创建游戏项目的功能,最大的好处就是提供了更好的资源及场景管理方式。对于资源部分,由原来的各个项目独立几种到一个游戏项目中。这样资源不再需要做多份管理,节省了大量的管理成本。

这个功能用拼好的大图还不错,但用小图的话,UI本身导可以导出小图,但动编只能到处大图,他们公用的那张图其实还是没有利用好,还有就是到处的地方可以不放在assets里吗,感觉如果混乱资源和到处资源

很好的教程啊,学习了,不过这个方法好像不太试用项目的团队开发,多人同时添加UI项目时,如何能合并工程?

可以考虑使用工具做同步。一般提前注意下不要同时编辑一个工程就好~或者是先单个编辑,然后导入工程。

关于资源共用,这里只是在UI编辑器中读取的是同一个目录下的资源,但是在导出的资源里面还是有重复了,所以游戏中加载的资源还是大了?

资源文件的部分 基本上了解的差不多了。 导出这个功能具体是用来做什么的呢? 程序应该调用导出后的么? 发现导出的和 现有的资源基本上一样 而且导出的路径在 asset 文件夹里。 我们程序说UI导出的东西默认路径是放到 publish 他读不到。 不太明白。

请假一下 大家都是怎么做资源管理的呢?路径是怎么分的?

新版的资源管理简直太废了,根本不好用,说是共用,只是在编辑器里看到共用,等导出资源时就各种悲剧。
1.动编会重新生成新的资源,没有公用。
2.ui和动编导出只能是默认的\assets\publish目录,修改后下次导出又会自动改回默认,无法指定
3.按上面的理解导出就应该放publish,可悲剧的是当ui和场景编辑都使用images下图片时,最终导出场景会发现Resources下和publish下导出2份一样的images,完全不明白新的资源管理是让程序怎么用。用最终的publish下的资源?还是Resources下的资源。完全不解作者的意图。。

注意:导入前请注意检查资源是否有重名现象,保证移动资源后不会替换同名但内容不同的资源。

这里我们出现了一个很严重的问题,不知道怎么解决

先说下我们的资源管理方式:
公共区:能共用的资源打成了公用plist文件
专用区:每个独立模块单独用到的资源单独打成了专属的plist文件

我们在将界面换皮时,直接套用的之前所有资源的名称,就是传统的换美术资源而已

发现的问题是:
所有公共区的资源,使用新资源替换均不成功,界面上依然是旧的资源
而所有专用区的资源,直接一次性就替换成功,界面全部为新UI

这个问题困扰好几天了,实在不知道怎么解决,目前能知道的方法貌似只有1个,那就是把所有公共区资源全部重新命名,然后在将所有界面差不多全部重新编辑。。。。要奔溃了。。。

cocostudio的技术不是一般的差,这刚v1.x.x就折腾来折腾去,做好的项目后面更新就没法用,还得重新建项目。搞的乱七八糟的。只能说明一点:做这套工具的技术根本就不会做项目,毫无实战经验。
再举个笑掉大牙的例子:之前用新版本编辑后,再换回旧版本打不开,提示需要更高的版本,我一怒之下,把jason里的版本号改成了高版本的,完美打开毫无障碍。这件事让我们团队所有人都笑死了。而我只不过是个简单的策划,真搞不懂触控的技术是干嘛吃的。

我现在资源改动一下 在plist的位置,然后奔溃 然后再也打不开,搞不懂还会出奔溃的问题。

导出后是只有一份资源的,因为引用的就是同一份。

导出后,会出现在两个不同目录下存在一样的图片,这tm是在逗我呢?
太不靠谱了

你好,你指的是在UI编辑器的导出还是场景编辑器的导出呢?项目下回默认有一个Resource目录,用户存放最终导出数据,但是导出之前会放在assert目录下。

ui是studio导出的,修改了图片的路径 如 res/dialog/login/…/…/button/button.png

在cocos2d js 3.0 RC0无法获取到资源 之前的版本都可以正常获取到,这种情况要怎么处理??:6::6::6: