在cocos2dx和unity3d之间选择

人生最纠结的事,莫过于有选择…………

cocos2dx和unity3d从某种意义上讲,都很不错。但当面对特定需求以及团队情况的时候,总是能分出高下的。

假设,目标游戏是一款类似 刀塔传奇 的游戏

我们先分析一下游戏特点

1、这是一款2D游戏

2、它没有强烈的玩家互动,也没有玩家互见

3、它适合使用HTTP与服务器进行通信

4、为了资源较小,使用2D骨骼动画

5、为了更好的用户体验,我们需要支持游戏内更新

对于以上5点来说,两个引擎都是可以做到的……

那针对此目标,我们来说如果使用U3D,应该如何做。

如果使用U3D,那U3D自身强大的3D功能将被无视。而由于U3D自带的2D简直是弱爆了。于是,我们一般采用3D场景+正交相机的方式来实现2D效果。 这些都是可以的。 只是说Mono起步价就是8MB(Mono框架本身的开销就不谈了)。

界面方面,采用NGUI吧。这些都是不需要思考的。

但对于2D骨骼动画来说,较好的选择是Spine。 但目前的美术外包团队中对Spine这个工具较熟悉的,为数不多。 而Dragon Bones,只有一个弱弱的Unity3d支持, 在GIT上可以找到。

对于游戏内更新问题,只能使用其它解释型脚本了, iOS上是不能更新可执行代码的。 LUA可以说是不二的选择。

这样看来,使用U3D面临的问题就是 能否找到一个好的美术团队使用Spine做出2D骨骼动画…… 在U3D框架的基础上,我们还需要再封装一次LUA,以满足动态更新。 安装包相比cocos2dx来说,多了8MB。 一套U3D授权为5000美刀

来说说cocos2dx

cocos2dx使用C++开发,同时官方支持的导出脚本为LUA,JS。 因此,自动更新功能是没有问题的。

cocos2dx有一个cocostudio和cocosbuilder工具可以拿来做UI。 虽然不太便服,但忍忍是可以接受的。

cocos2dx对Dragon Bones的骨骼动画支持较好,不用担心美术问题

cocos2dx是免费的,少了5000美刀。

cocos2dx安装包要小8MB

cocos2dx有这方面的成功案例

结论

虽然一直期待能够使用U3D作为惯穿一切的解决方案。但目前面对这样的2D需求的时候。 个人还是觉得选择cocos2dx较为科学。

在cocos2dx和unity3d之间选择,布布扣,bubuko.com

时间: 2024-10-08 09:04:56

在cocos2dx和unity3d之间选择的相关文章

手机游戏引擎的选择--学习游戏开发Cocos2d-x和Unity3D/2D哪个前景更好?更易上手?

现在手游火的一塌糊涂,引擎也是层出不穷除了引领3D市场的Unity3D,独霸2D市场的Cocos2D-X之外,还有虚幻.Sphinx等,甚至搜狐也开发了国产的Genesis-3D引擎. 其它的不多说,这里主要就对比Unity3D和Cocos2D-X,帮助大家选择. 如果你想开发一个2D游戏,有着C++/C/LUA之一的基础,那么Cocos2D-X也许比较适合你.他本身就为2D游戏设计,有着丰富的源码.实例和教程文档.你可以得到社区的大力支持. 如果你想开发一个3D或2D游戏,有着面向对象编程语言

cocos2dx实现环形角色选择界面

数据结构采用双向循环链表.由候选角色组成链表的节点,将链表中的节点在屏幕上按照椭圆分布. .h: 1 //链表节点——候选角色 2 class CandidateRole :public CCNode{ 3 public: 4 CandidateRole(); 5 ~CandidateRole(); 6 virtual bool init(const char* name); 7 static CandidateRole* create(const char* name); 8 Candidat

从头认识java-6.4 如何在聚合与继承之间选择

这一章节我们来聊一下在聚合与继承之间选择的问题. 在我们平常的编码里面,使用聚合或者继承都可以,或者两者可以混合使用也行,这个时候就需要做出抉择,因为代码以后还需要维护,怎么才能达到维护简单?代码可读?... 因此,我们必须在各种方案中做出抉择. 笔者是这样认为的: 如果新的类只是使用老的类的一部分功能,那么就是用聚合,直接new出来就可以了,满足need或者组合这个关系: 如果新的类必须是老的类的一个特殊例子,那么就是用继承,满足is-a或者is-like-a这种关系 例子: 车是交通工具.

基于cocos2d-x的英雄联盟皮肤选择菜单

最终效果图 英雄联盟皮肤选择 设计说明 实现目标所需要的动作 移动(MoveTo),伸缩(ScaleTo),倾斜(OrbitCamera) 实现目标所需要函数(这是一个数学函数) x/(x+a) 其中a为常量,用来计算上面三个动作的值 大小 与原版Menu不同,大小不是全屏的,默认是屏幕的(2/3),可以通过setContentSize()函数设置 _index变量 将所有的菜单项平铺构成一个长方形,_index表示目前在中间位置的点,如下图 显示方式 将菜单项距中心的距离(i-_indxe)作

COCOS2DX 与 UNITY3D 的发展浅谈

浅谈: 目前游戏界的发展趋势逐渐把游戏引擎当做一个比较成熟的中间件了,许多toolset和基础构建在不同游戏中是相通的,曾经有人比喻游戏引擎在不久的将来会像现在的操作系统一样,呈现出一种比较稳定的状态(比如现在比较活跃的操作系统只有Widnows和Linux了). 如果追求性能的话,实际上可以重写Unity或者其他引擎中的Renderer和Shader来进行改进,所以追求性能不能成为使用自研引擎的借口了. 而且,国内的许多公司的引擎,比如畅游. 也只是把ORGE啥的改一改, toolset和平台

Cocos2d-x 3.x 头像选择,本地相册图片+图片编辑(Android、IOS双平台)

大连游戏产业不是很发达,最后,选择一个应用程序外包公司.积累的工作和学习过程中的一点业余生活微信体验,我想分享的游戏小朋友的爱. 在应用开发过程中会经常实用户上传头像的功能,在网上找了N多资料发现没有人详细介绍过该用cocos2d-x实现.这篇文章就来介绍一下怎样在Android和IOS平台上实现该功能. 先传一张完毕后的图片一饱眼福:= = 怎么不好用呢~ 直接上代码: 头文件 ImagePicker.h /*******************************************

关于cocos2d-x 和安卓之间的相互调用

近期在研究cocos2d游戏移植安卓须要调用非常多方法.所以在研究之中写下它们之间相互调用 首先,cocos2d调用安卓 在一个.h文件里加入头文件 #include <jni.h> #include "platform\android\jni\JniHelper.h" JniMethodInfo minfo;//定义Jni函数信息结构体 //getStaticMethodInfo 次函数返回一个bool值表示是否找到此函数 bool isHave = JniHelper:

Q2:服务之间选择何种轻量级的通信协议

协议: 普通场合优先选择基于HTTP的Restful API(基于HTTP协议,互操作性好,各种编程语言都支持:可伸缩性好:松耦合:易于测试) API实现技术应该避免与客户端耦合 特殊场合可以选择二进制的RPC协议(对低延迟.实时性要求极高:松耦合不重要:二进制的RPC协议:基于Google Protocol Buffer数据交换格式各种RPC协议 以及基于Apache thrift协议的各种RPC协议)

如何选择在Code First、Database First和Model First之间选择

Code First.Database First和Model First基本图解: 1)Database First: 如果数据库已经存在,可以使用VS自动生成数据模型,已经相关的edmx信息 2)Model First 如果还未创建数据库,可以在VS中利用Model设计数据库,通过设计器生成映射信息(edmx文件),并自动生成数据库 3)Code First 通过设计的数据模型自动生成数据库,不需要额外edmx文件,也可通过已存在的数据库生成数据模型,进行数据库映射,同样不需要edmx文件.