在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之间选择的更多相关文章
- WP8:Unity3D之间的值传递
在前面的讨论中,我们介绍了如何在Unity3D for WP8中使用高于.Net 3.5的第三方库,传送门:http://www.cnblogs.com/zhxilin/p/3311240.html ...
- Cocos2d-x 3.x 头像选择,本地相册图片+图片编辑(Android、IOS双平台)
大连游戏产业不是很发达,最后,选择一个应用程序外包公司.积累的工作和学习过程中的一点业余生活微信体验,我想分享的游戏小朋友的爱. 在应用开发过程中会经常实用户上传头像的功能,在网上找了N多资料发现没有 ...
- 一道编程题: 在1~n之间选择若干个数,使其和为m
这是一道很明显的动态规划的题目. 递推公式为 用sum(n, m)表示所有可能的1~n之间存在的和为m的组合 那么 sum(n,m) = sum(n-1, m) | sum(n-1, m-n) 直接上 ...
- PyQt学习随笔:Model/View架构中多个视图之间选择数据项同步
我们知道多个视图之间通过使用相同的model就可以实现数据的共享(具体请参考< PyQt学习随笔:ListView控件的视图和数据模型分离案例>),除了数据的共享之外,多个视图之间还可以同 ...
- 在NOARCHIVELOG和ARCHIVELOG模式之间选择
本节介绍在选择以NOARCHIVELOG或ARCHIVELOG模式运行数据库时必须考虑的问题,并包含以下主题: 在NOARCHIVELOG模式下运行数据库 在ARCHIVELOG模式下运行数据库 是否 ...
- 关于cocos2d-x 和安卓之间的相互调用
近期在研究cocos2d游戏移植安卓须要调用非常多方法.所以在研究之中写下它们之间相互调用 首先,cocos2d调用安卓 在一个.h文件里加入头文件 #include <jni.h> #i ...
- Android:AS与Unity3D之间打包的各种坑及解决方案
作者:DrkCore (http://blog.csdn.net/DrkCore) 原文链接:(http://blog.csdn.net/drkcore/article/details/5207937 ...
- 如何在Code First、Database First和Model First之间选择
Code First.Database First和Model First基本图解: 1)Database First: 如果数据库已经存在,可以使用VS自动生成数据模型,已经相关的edmx信息 2) ...
- uLua学习笔记(三):Unity3D和Lua之间的相互调用
这篇笔记主要集中学习一下uLua和Unity3D之间相互调用的方法,我们导入了uLua之后,现在会弹出一个类似学习屏幕的东西,如下: 先赞一个! Unity3D调用Lua Unity3D调用Lua的方 ...
随机推荐
- 简单跳转到微信分享,基于libWeiChatSDK 和简单的自定义UIActivityViewController
一.自定义UIActivity: 如果想要自定义UIActivity必须知道UIActivityViewController.首先这个类主要是用于接受字符串,RUL类型和图片类型的数据用于分享和操作的 ...
- SpringMVC 的RequestMapping
Spring MVC之@RequestMapping 详解 2013-10-13 23:39 150698人阅读 评论(6) 收藏 举报 分类: Java 精华文章(161) 目录(?)[+] ...
- IIS报错 试图加载格式不正确 的程序集解决办法
一般都是由于系统位数不一致导致的 方法:64位启用32应用程序兼容(推荐) 思路就是把程序池设置为对应的应用程序(即到底要不要启用32位应用程序)
- spring-aop学习
SpringAOP学习 author:luojie 1. AOP中的基本概念 AOP的通用术语,并非spring java所特有.很遗憾AOP的术语不是特别的直观.但如果让Spring java来 ...
- 【转】gtk+多线程的程序实例
#include <gtk/gtk.h> gint test() { while(1) { gdk_threads_enter(); g_printf("hello\n" ...
- JAVA里面的IO流(一)分类1(字节/字符和输入/输出)
java.io包中定义了多个流类型(流或抽象类)来实现输入/输出功能:可以从不同的角度对其进行分类: 按数据流的方向不同可以分为输入流和输出流 从文件读数据为输入流:往文件写数据为输出流 按处理数 ...
- shell循环
for循环 for循环一般格式为: for 变量 in 列表 do command1 command2 ... commandN done 列表是一组值(数字.字符串等)组成的序列,每个值通过空格分隔 ...
- Mac os x下配置nginx + php
一直都没使用过PHP的,最近leader推荐使用他在维护的一个移动端的js框架,在本地合并压缩使用的是php环境处理的,so,只能是搭一个PHP的环境了.一直使用的本地代理服务器都是nginx,虽然P ...
- php tools for visual studio 2013 完美 破解 Cracker
PHP Tools for Visual Studio 2013,这个是 目前在 Visual Studio 2010/2012/2013 中 下最好用的php插件了, 破解 好的 Cracker ...
- 【图像处理】第三次实验:JPEG图像压缩
1.任务说明 将LENA图像用JPEG方式压缩. 2.算法原理 JPEG(Joint Photographic Experts Group)是一个由ISO和IEC两个组织机构联合组成的一个专家组,负责 ...