真的有拿cocostudio做上线项目的吗?

实在不知道怎么用CCS来做项目了。拿DemoShop举例吧:

这是一个商店界面

这是其中的商品项

可以看到,商店中有很多商品项,一般商品都是在程序运行的时候动态加到列表中的,内容可能会有
不一样,但是,结构是一样的。

实际项目,肯定不能像CCS的Demo这么来做了。无限复制这么多商品项,假设其他不同的商店界面
也有一样的商品项,你还得重新做一遍。如果后期策划稍微更改一下商品的显示信息。ok,所有界面
重新做一遍。

用程序的角度看,就是把重复,有共性的功能不提取出来做成类库,而是无限让人家无限复制代码,
冗余臃肿不说,维护起来就是噩梦。

如果商品项做自适应(可能需求是先宽高等比缩放,然后宽在适当缩放。item子项跟随缩放),那么
复杂度立刻再上几个数量级。

============================================================================

以我平时开发的角度看,我觉得CCS这样会更方便使用些:

UI节点可以添加UI子节点,而不仅仅是只有按钮,复选框,图片…。这样就可以将商品项做成一个单独
的UI,可以将他加入到任何其他的元素上。

每个单独的UI节点可以有画布大小,但勾选自适应后,画布大小不应该根据屏幕来自动调整。而应该是
根据父节点传递过来的百分比大小或局部布局计算。而屏幕大小由Scene编辑的场景来传递给最顶层UI。
这样就和CCS中同一个UI节点中的父子节点自适应时大小的传递一致了。
例如,单独做一个商品项,大小设置为10080,百分比1.0,1.0,九宫格设置好。
然后在DemoShopUI中添加该商品项UI,尺寸再设百分比,比如0.167,1.0(宽100/600自适应,高固定)。
DemoShop画布大小600
400。
然后在DemoScene中加入DemoShop,尺寸再设百分比,最终的自适应是DemoScene传入屏幕大小再对应
传入DemoShop画布缩放后的大小,再传递给商品项画布缩放的大小。
如果单纯粗暴的将所有UI的画布大小自动缩放成屏幕大小,UI就无法进行嵌套组合使用了。

每次重新导出某个单独UI时强制导出资源,且只有2个选项,导出使用或导出全部。大部分情况下10个人开发,
其中一个童鞋修改了他的UI,然后导出,这时候选什么都会有问题。只导出使用的肯定是不行的,不可能一个
UI的图片只有该UI使用,如果每个人都导出自己使用的,那么会有很多大图中有重复的小图。导出全部呢??
CCS奇葩的自动命名Plist(而且不先删除文件导致会有冗余文件),会导致其他UI中的plist名变更,资源就会
全部错乱,这时候,只有每修改一个UI,重新导出所有工程,然后使用版本管理软件上传时剔除未更改项发现
所有都被更改了…
真正做项目时图片资源的划分都会很细,怎么组合,后期有内存瓶颈时可能选择某些界面单独释放,我可能会将
这部分的图片单独打成一个大图。现在好,我设计的很精巧的大图,修改一些UI
又让我必须重新导出图片…

做复杂界面的时候,一般会把UI层次做的很细,很深。这时候就会发现导出的json文件比所有使用的图片大小
的总和还要大…
既然都有导出,和2个几乎一样的json文件了,为什么不保留一份json,最终的导出做成二进制?反正手动
去改json文件整个CCS工程就会出问题,(因为有2个json文件…)所谓的自描述特性就给抹杀殆尽了。
如果说只有一份json文件,无论手动还是通过ccs修改,都能完全的还原到编辑器中,导出为json可能还有
点意义吧

===================================================================================

太多坑,已经决定爬出来了,所以,动画部分还没有尝试。

===================================================================================

CCS整个编辑器,操作方便,顺手,也很现代。但是只是看上去,或者说拿来做Demo时。我想,触控只是用
它做了做捕鱼,就觉得它很顺手了吧。实际上还有很多不同类型的游戏,不适合也很难使用CCS去开发。

还是有不少人用来做正式的项目的。
问题确实有很多,而且等啊等等了很久也没法解决。不过大都能够通过其他方式自己来解决。
如果是新项目,不太建议用cocostudio。

如果不需要脚本功能, 还是用Unity吧。

我不知道你说的其他方式是哪些方式。我认为是这样的,如果是Bug,确实可以通过在代码中动动小手脚,去规避。

但如果是范式的问题…,想不出有什么小手脚能规避,前端其实做得也就是个UI而已,那么编辑器很大程度决定
了你项目的进行方式,不仅是程序,还有美工,流程的管理等等。

求分享自己的解决方式 - - 。

=。=为什么 我用ui 难道就不能 写代码了么。。。。ui只是为了简化 一部分 操作罢了。。。 最好的方法是半代码半ui 而不是 完全依赖 某一项

正式点的团队都是自己开发吧,有专门的工具团队。。。用这个二次开发也行

你当然是需要写代码了,像上面的商品,最终还是要通过服务器条件的不同,拉取不同的商品项插入到商店中显示,这个肯定是通过代码来了。
但是,不是说,你把本来能用UI编辑器搞定的事情拿个代码搞定了就算牛B了,就算高端了,就算结合使用。那样会增加耦合度。

例如编辑器不支持在一个UI节点上再加一个UI节点,但是代码中可以。
可是在代码中加,坐标,样式都必须在调试时看到,具体加哪个,缩放,大小,什么的要在代码中去指定。
我觉得这和原始的用纯代码做UI是一样一样的。

难道你的意思是指上面的商品项整个直接拿代码做一个??父节点位置…子节点位置…加张图a,再加张b,这样子??

我认为不是要半代码半ui ,而是要该用代码的用代码,该用UI工具的用UI工具.

:870::870::870:坐等cocostudio强大到可以拖控件做游戏的时代,那样我就可以去做游戏了:877::877:

CocoStudio远没有强大到支撑起一个完整项目。程序员要根据自己的经验,判断什么地方做二次开发。
我接触CosoStudio的时间还比较短,但是已经明显感觉到它的弊端。
我个人粗浅的建议,只使用CocoStudio的UI编辑器模块,搭建UI框架就行了。
UI编辑器搭建的界面,导出后是一张完整的大图,导致界面A与界面B相同的元素没办法共用贴图,这个很恶心。
UI编辑器急需的一个功能是,控件的贴图支持从已有的plist中选择。

其他方式,就是通过修改cocos2d-x本身的代码,或者自己写新的代码来解决studio没有提供或者不正确的功能。

比如资源管理,我们的项目里,完全不用cocostudio导出的资源。plist全都是自己生成的。参考http://www.cocoachina.com/bbs/read.php?tid=164363&page=2#901751
UI布局的问题比较复杂,我们自己实现了一些布局。参考http://www.cocoachina.com/bbs/read.php?tid=192657
其他问题也很多,比如9宫格设置里的宽高居然不能等于0。我们用脚本自动处理所有导出的json文件,把1改成0.等等

总之,如果是新项目,还是先不要用cocostudio了。

很明显这个例子只能给新手玩玩,或者仅限于有限数据的iap商城

我们确实用ccs做上线项目,但是编辑器的用处只限于做固定布局。像tableview这种动态内容,都是用可复用的格子自己贴图实现的

关于可复用特征,很明显自带的listview是不能用的,我自己写了一个可复用的listview。当然你也可以用tableview

ccs独立是不能做游戏的,要和代码结合来做。画布的位置,大小,都必须用代码来根据实际屏幕大小动态缩放调整

已经提到过了,UI不能嵌套,所谓的搭建UI模块,界面简洁的游戏还行,稍微复杂点,开发维护就是坑。

“用可复用的格子自己贴图实现的。”
我就理解为CCS的范式有问题了,这种很常见的需求,用CocosBuilder来做,轻松简单。
单独做一个item ccb, shop中加入这个ccb 。代码只需在必要的时候替换ccb中的问题,
布局,坐标,大小,缩放,这些代码完全不用操心。如果纹理的名字都是配置在表中,
那么程序的健壮性就更好了。最重要的是,ccb中套ccb编辑器能实时看到效果。

有些问题不是只修改cocos2dx的问题就行了的。
编辑器的问题,你把2dx代码修改出花,也就那回事。

楼主你好,目前编辑器中的示例可能有些过时,并不能展现我们的新特性。比如布局,目前是没有引用到示例中的。因为布局这个本身比较负责,我们有提供一些示例给大家,并且将内容劲量分开来讲。柔和在一起可能并不好理解。

另外楼主说的demo上的问题,UI编辑器比较是静态的设计器,所做的界面也主要用于小数据量的界面,对于动态生成的界面还是需要代码创建的。比如demo中的装备表,如果只有10个,可能使用编辑器中的粘贴复制是个不错的选择,但是成百上千的肯定需要程序辅助。这个任务该有UI人员去做还是程序去做应该根据工作量来决定,而不是就指定谁来做。

另外使用CocoStudio制作的项目已经包含了很多类型,比如跑酷,MMRPG,三消类游戏也有很多上架的产品。目前我们看到的这些游戏也都有不错的体验。所以CocoStudio完全又能力去辅助开发游戏。但是即使这样我们还是需要大家宝贵的建议,我们也愿意不断地去完善修改CocoStudio,使之更符合大家的习惯。

CCS的布局是肯定没太大问题的,操作顺手度也是一样。
我之所以在这里发帖,主要因素源自于,一方面大部分的特性非常喜欢,
一方面则是少数地方的限制导致无法绕过,甚至进行不下去了。

例子中的装备项肯定是需要程序去辅助的,我上例的意思并不是说完全不用代码(参见5楼)。我举下我们在CCB中的
做法吧,建立一个shop_item.ccb, 做一模板,布局,结构,坐标,大小,缩放全部做好。
这样就有了一个shop_item,shop_layer.ccb里面能直接在编辑器中加入该shop_item看效果(这个CCS无法做到)

是的,最终大家都是用代码创建多个shop_item,但是item里面的布局,结构,坐标,大小我可以全部用子UI做好。
程序只需要创建,替换就行了,不用再关心UI上的细节。

可能大家觉得,这些CCS也可以啊,CCS可以在代码中动态载入UI啊。但是,首先这个UI不能直接加到另一个UI并在
编辑器中预览(效果大打折扣)。其次,UI的这个所谓画布大小与自适应的规则导致你这么做会出乱子。我的shop_item
画布大小要做成多少????怎么自适应呢?????

上面这是2层的效果。我之前就发过一个贴。这里再做下假设。shop_item中的商品头像也非常复杂,需要再单独做成
一个子UI,这样就有三层嵌套了,CCS这时候已经不能这么玩了 - -。

我不知道我这种算不算奇葩需求,但周围几个团队碰到这种UI需求第一反应都是类似的解决方案,也与程序设计时的
解耦,模块化的思路是相同的。

学习到了很多需要注意的东西,接触ccs没多久,感觉ccs更加适合做demo或逻辑简单一点的应用,复杂一些的东西是ccs写上层ui,底层的业务逻辑还是在代码上改更顺手.

CCS的动画模块有哪位大神用过的,有没有使用不方便的地方?求分享

做个 背包 简单 点的 每个 物品 做个 样例 要什么信息 自己填充 就好了。。。ui只是省步骤。。 代码里可以直接克隆 为什么 要一个个写 不累么

首先,很赞成你的观点,我从来都不推荐一个个写。包括前例也一直在强调这点。
其次,“做个 背包 简单 点的 每个 物品 做个 样例”,关于这部分,请分享下如果做这个样例。
做一个单独的UI?画布大小设置多大?如果有多层嵌套如何看效果?前面也有提出这部分的问题。

我完全赞同 xiezhicong 的说法。


例子中的装备项肯定是需要程序去辅助的,我上例的意思并不是说完全不用代码(参见5楼)。我举下我们在CCB中的
做法吧,建立一个shop_item.ccb, 做一模板,布局,结构,坐标,大小,缩放全部做好。
这样就有了一个shop_item,shop_layer.ccb里面能直接在编辑器中加入该shop_item看效果(这个CCS无法做到)

xiezhicong说的是最基本的需求,上一年我们用ccs做一个项目,例如设置800480分辨率的画布,在画布里创建一个大小适合的panel,panel里再堆放零散的图片或label,就这样导出一个json。画面中其他地方的控件集再如是做一个800480,做好后导出。场景画面就直接将几个800*480叠加显示出来。这样做不别扭?非常别扭!
xiezhicong的思路基本正确,图片、文字等最基本的元素 组合成 元件, 元件 组合成 一个完整的层(画布),问题是ccs好像是不能制作独立的元件,是独立的,也就是做好的这个模板能随时拿来用的,ccs在画布里堆砌的 “准元件” 始终和画布挂了勾,我理解没错吧?