unity和cocoscreator(unity和cocoscreator ui)

http://www.itjxue.com  2023-03-17 08:31  来源:未知  点击次数: 

如何评价cocos creator,与unity比的优劣势

你好 ,我做过UNITY也做过COCOS 综合来分析的话我觉得各有千秋。unity的优势我觉得在于它开发的强大 灵活度高 而且所见即所得,这一点真的是很牛逼得。在编码过程中可以实时查看所有Public变量改变反正就是很方便,而unity最大的问题个人觉得就是这个APK打包出来体积大的吓人。。而相对于cocos就不太方便了,他的游戏是基于一个个层或者一个个组建拼凑而成,写起来的时候会需要有大量的东西去准备。但是这样也有一个好处那就是只要构思好写好所有的层级修改起来还算方便而且很多功能也是Unity无法实现的。其实他们各有各的好处 看你喜欢那样咯,unity现在倾向于3d游戏这一块和虚拟现实,而cocos终究还是2d游戏的首选开发引擎。

武汉搞unity好一点还是搞cocos creator好一点

个人认为还是unity好一点,它的编辑器可以运行在Windows 和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac 所支持。

CocosCreator初体验

机缘巧合,最近接到关于游戏的需求,前后调研了一下Unity3D和CocosCreator,但是考虑到是作为项目的一部分而使用,并且局限于Unity3D的使用条款,为了避免法律问题,最后选择的是使用CocosCreator来实现。第一次接触Unity3D和CocosCreator这类的游戏引擎,大约用了一个月的时间,从学习到项目大部分完成,之后要打包成静态库供其他客户端的同事们使用。学习途径主要是CocosCreator官网文档和官方Demo(看中文的文档就是爽!!!)。本片文章的目的主要是记录一下过程中遇到的问题及解决方案,并不是完整的教程。

本次要做的是一个最简单的跑酷类游戏,无需使用Tiled(地图编辑器),spine(骨骼动画编辑器)。也是做了这个小游戏才发现游戏其实已经发展的很成熟了。

我们可以看到,元素很简单,背景主要有远景、中景,通过设置不同的速度来实现现实中跑动的效果。主要的逻辑实现部分是在前景的任务和障碍物。由于没有使用物理引擎,所以是直接使用CocosCreator的碰撞检测实现的。主人公可以跳跃越过障碍物,撞开障碍物,收集金币。按住屏幕,hero跳起,按的时间长一些,主人公的跳跃也会高一些,自然一些的话还是需要简单的物理公式的。正常情况下hero是在x轴上是没有速度的,一种情况是当障碍物挡住hero时会有一个和障碍物同样的速度模拟阻挡的效果,还有一种情况是阻挡产生之后hero产生了位置上的移动,需要一个速度回到原位置。由于CocosCreator提供了碰撞检测之后的回调函数,所以我们可以很轻松的在回调中做一些相关操作,比如让碰到的金币消失之类的。

有位同事做过cocos2d-x的开发,使用的c++,向他请教了一些基础了知识,但是细节上跟cocosCreator相差恨远,因为cocosCreator是用cocos2d-js框架并配合可视化的编辑器来实现的。由于是先调研的Unity3D,对这种脚本的方式还是比较能够接受的。其核心思想是在组件,在编辑器中制作精灵和动画,然后通过脚本组件来控制其逻辑实现,各种功能都组件化,当我们需要给精灵添加一个功能的时候,就是向其添加一个组件。在这个小游戏的制作过程中用的组件的数量也是有限的,主要是使用了:

编辑器给我们提供了方便的拖拽界面,直接将我们需要使用的图片导入,就会自动生成精灵文件(但是用过Unity3D之后,还是感觉Unity3D的功能集成度更高一些,而且还可以做3D)。

在编写脚本的时候也是不能脱离编辑器的,在编写脚本的时候着实是让我这个ios程序员有点摸不到头脑了,JS的使用方式有点让我不太适应,没有了xcode的提示功能,写起来还是有些费劲的。JS也是边学边写,不过得益于官方的Demo几乎把所有组件都写了一遍,所以就照着葫芦画瓢。写的时候就发现,其实引擎并没有帮我们做很多的工作(Unity3D可以直接在编辑器里设置物理属性,不过听说下个版本的CocosCreator也会有)。在编写脚本的过程中,最复杂的就是hero脚本的编写,需要检测碰撞和处理hero跳跃过程中的不同状态。碰撞检测的话需要自己计算碰撞发生的位置,当做矩形碰撞器来处理的,只计算x轴和y轴的碰撞。x轴发生碰撞的话,hero有一个和障碍物一样的速度,y轴碰撞一直持续的话就是调整hero的y轴的位置,让其在障碍物的顶部。跳跃的过程中完成动画的切换。

与CocosCreator编辑器不同的是,这个编辑器是我写的一个生成障碍物的一个app,可以方便让产品配置障碍物的位置。主要的实现思路是使用UICollectionView,界面非常的简单,主要是配合CocosCreator脚本的实现,需要将颗粒状的障碍物连成一个长的条状,所以需要将界上的障碍物颗粒结构化一下,取到障碍物的最底部的颗粒的位置,然后连接在一起的高度,这样的话就是对每一列的统一种类的障碍物进行深度优先搜索,记录最低点和搜索过的深度,这样的生成的JSON文件在CoCosCreator脚本里就可以直接使用了。

Unity和Cocos到底存在着怎样的区别

前者叫简单粗暴,会ppt就能很快精通,没有关于代码整理的文献,有也不是中文,如果想快速做国产卡牌类,梦幻西游(大家都用它)什么的可以选他,不需要会编程,用起来就像maya什么的。

后者学算法,只用VS2017RC(17G)可以巩固CPP,也不难,不过比unity多一点东西,那就是连编程时什么都不知道的新人需要花几小时看完最新基于VS2015平台的CPP入门的书籍。当然他也有cocosCreator,界面看起来和unity差不多。

因为3D算法很早就成熟了,所以cocos也支持3D,不过他的cocosCreator不好弄,主要依靠代码,然而代码相当的简单(unity的编程过程更简单)。然而unity有很多插件,太多了,还是你懂的,所以unity的傻瓜式简单游戏生成时相当的速度。

对于行业来说直接用unity是不可能学到好多算法的,如果是在校大学生,推荐马上搞定cocos,在上unity,你会比现在行业就业人员强很多倍,直接上手unity的话(呵呵,各大平台讲的都是“点几下就够了”,上市书籍也是讲“再点一下就够了”),你要深入全靠你的英语和翻墙堆起来,因为大局域网的限制,很难找到适合你unity进阶的平台,你可能会没有继续深入的欲望。不是说cocos在国内有很多资料,因为国内哪来资料啊,因为他入门就需要接触很多,所以不需要刻意去找。

区别啊,不要想太多了,都可以用JS(阅读性很低),UnityC#,cocosCPP其实这两个差不多的,与其说,会cocos就能马上上手unity,再说简单点,能用cocos写游戏=精通U3D,因为U3D精简了很多不需要写的代码和众多插件。

接下来是对行情,不难说,U3D和尖叫寒霜比渲染就是勒色,不管什么方面都别去比了,所以国内的人很清楚自己的实力,不和国外大牛比3D,就在国内做点渣渣,不过这些渣渣很快就难以生存了,如果要另辟蹊径,就做lowPloy风格或者其他艺术风格,仿油画,水粉,流体,可以很快突破重围,因为世界大多都那个水平,牛逼冲天的拖出来也就是一小堆。PS:尖叫寒霜很像U3D的界面了,都不难,但是没有文献,不过各大引擎有各子的专场渲染,渲染节省了很多时间,你想开发什么样的游戏,就选你需要的引擎就够了。

就业分析,可以选择一个人做独立游戏,可以选择进入公司。独立游戏需要高水准,编程必须会,会配音,懂剧本,会艺术,这些很多但是都不难,因为网络时代,资料难找么。学就入手cocos,如果去普通公司,会ppt再随便报个垃圾培训班就可以找到,度日简简单单轻松写意。想去暴雪,也不是不可以,但是大公司都有一个尿性——团队合作,这和比较C和U没关系了不说了。

基层的区别:cocos擅长2D,unity擅长动画风格3D,尖叫适合仿真,

难度系数:C入门中,U入门简单,C进阶中,U进阶难,C精通难,U精通上青天。

面对像:国产,入门即可。独立游戏,自己看着办。

说点不关于问题的回答,纯新人(不会编程,游戏一点都不懂的人)的学习过程,

unity入门(点一下就够了,接触游戏引擎原理)-processing(面向新人学习编程的语言(冷门,国内艺术生再用),可视化,基本上看完了=会游戏引擎的基础)-cocos入门-unity进阶-unity精通-cocos精通,做到unity精通那一步就让你可以进暴雪,跳过了cocos,那时候转unreal和cry也是简单的,上面都是互通的。

不想说了,因为会编程就不会问这个问题了,买本编程的书吧。

回答问题的时候我在吃饭,因为肠胃不好需要吃得慢。

(责任编辑:IT教学网)

更多

推荐时间特效文章