cocos2d-x跨平台之路(观点比较清晰)

本期我们采访的讲师是:

杨丰盛


梦拓科技创始人兼CTO,国内Android领域的先驱者和布道者,资深Android/IOS开发工程师、构架师。


开源国际化游戏引擎Cocos2d-x for Win8 Metro核心开发者。国内著名IT技术网站51CTO推荐技术专家,曾多次接受《程序员》杂志采访并为其撰稿,同时还多次应邀在国内的移动开发者大会和技术沙龙中开展讲座,深受欢迎。著有《Android应用开发揭秘》、《Android技术内幕:系统卷》等畅销书籍。


演讲主题:cocos2d-x跨平台之路



9RIA天地会小编:您有丰富的Android开发经验,能不能为Android开发的初学者一点建议?如何学习以及有哪些重点需要关注?

杨丰盛 :Android作为一个开源操作系统,可以针对Android的开发方向也有很多,比如使用Android SDK提供的API开发应用程序开发,游戏开发,针对Android Framework层源码进行框架开发,修改Android系统源码定制Android系统,以及驱动开发,所以Android初学者首先要明白自己的兴趣和需求方向,在熟悉一个方向之后,可以在扩展到多个层面。


无论是Google官方还是民间都有大量Android的技术文章、技术教程,学习资料肯定不是问题,除了这些资料之外还有Android本身的源码也是最好的资源,可以说任何问题都可以通过源码来解决。那么对于Android学习的重点则应该放在Android系统的各种机制的理解,比如:进程管理、生命周期,Binder通信机制等等。因为Android是基于Linux系统的,所以熟悉Linux系统必然对学习Android有莫大的帮助。虽然Android是使用Java语言开发,但同时Google从Android1.5版本开始就推出了每个版本对应的NDK,可以将一些复杂的逻辑运算使用NDK通过C++语言来完成,所以在必要时候能够通过C++来开发应用程序的某些模块,也是非常不错的选择。



9RIA天地会小编:cocos2d-x引擎在cocos2d家族中脱颖而出,成为最热的一颗明星,能否简单介绍一下cocos2d-x的优缺点?

杨丰盛 
Cocos2d-x原本就是基于cocos2d应用完成的,可以说是cocos2d的另一个版本,但是因为cocos2d-x是基于C++语言编写的,而cocos2d则是基于Object-C语言编写的并且只能运行在ios和mac操作系统中,C++的开发者必然多于Object-C;另外一个重要原因则是,cocos2d主要方向在于引擎的构架设计,重在引擎本身,而cocos2d-x则主要处理跨平台解决方案

 

目前cocos2d-x主要维护三个版本,一个是原生的C++版本,一个是支持windows phone 7的C#版本,一个是支持HTML5的JS版本,当然也有我们所开发的cocos2d-x for win8 metro的版本可以支持windows 8 metro风格游戏开发,通过这几个版本几乎可以跨目前大部分主流的平台。一次开发,多平台复用,无论从成本还是效率上考虑都是最佳的选择,这毕竟是前两年最主流的话题,当时大家都在寻找方案,目前cocos2d-x可以满足大家的方案需求;要说缺点,也就是cocos2d-x暂时还没有类似unity3d一样的好工具来开发游戏,不过小的,单一的工具倒是很多,同时也了解到cocos2d-x团队也在计划向这个方向发展,将来会提供更多的工具,让游戏开发更容易。甚至是我们自己也可以制作一些工具。


 

9RIA天地会小编:能否简单介绍一下cocos2d-x跨平台开发中不同平台的特性使用方法?在实际开发中,该引擎在不同平台中的表现如何?

杨丰盛 :这个问题问的非常好,cocos2d-x的主要优势就在于跨平台,但是毕竟每个平台有自己的特点,开发过程中自然也有需要注意的地方,首先就开发语言来说,cocos2d-x目前维护三种语言,C++,JS,C#,C#是专门为windows phone7设计的,这将导致原本用C++写的代码,在移植到windows phone7上需要做一个简单的语言翻译工作,JS虽然可以跨平台,但是毕竟HTML5还不够成熟,在PC上效率完全没问题,但是在手机上则还有很多难题需要解决。

当然除了这些软件特性之外,也还包括一些硬件特性,ios,android,windows phone,pc等,它们的GPU不同,硬件性能和硬件加速方案不一样,导致游戏最后的优化可能不一样,比如,不同的GPU支持不同的纹理格式,纹理压缩格式,纹理尺寸,矩阵运算等,为了让cocos2d-x在每个平台上都发挥出最佳的性能,就必须针对设备的GPU进行深入优化。

最后一个例子就是我们开发的windows 8的版本,因为windows8早期不支持opengl,导致我们必须用dx来实现所有硬件加速,这就使得引擎在底层维护了另外一套图形渲染系统,是专门针对windows 8的,如果要优化他们,就需要分别针对opengl和dx进行优化。


9RIA天地会小编:cocos2d-x在大规模多人开发的时候,如何进行协同操作?

杨丰盛 :说到多人开发在cocos2d-x中体现得可能不是特别明显,因为一般一个cocos2d-x的游戏也不需要大量的人员来开发,通常三个人一起开发一个cocos2d-x游戏已经算是很大了。即便如此,cocos2d-x 同样也可以很方便的进行多人开发,首先说程序和UI方面,在新版的cocos2d-x中已经开始出现cocos builder工具了,可以支持直接设计UI和一些简单的场景,这样就可以让UI设计人员完全很据自己的需求来设计UI,而不影响程序开发。

待UI设计好之后,程序通常可以直接使用;同时还有很多小工具,比如:地图编辑器、粒子编辑器等都可以单独使用,这些工具就可以交给策划或设计人员使用,完成之后直接交由程序员整合即可。

最后是程序员之间的交互,其实也很简单,cocos2d-x中有场景和图层等概念,完全可以由不同的人负责开发不同的场景,不同的人开发不同的图层,而它们之间的交互也仅仅通过几行简单的代码就能整合,再配合项目开发文档和源码管理工具,多人开发在cocos2d-x上同样也变得很和谐。

from:http://blog.sina.com.cn/s/blog_56c9b55c010140xv.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
(译)cocos2d里面如何用texture picker和像素格式来优化spritesheet.pdf (译)在cocos2d里如何制作各种按钮.pdf (译)如何使用cocos2d制作基于tilemap的游戏教程 第一部分.pdf (译)如何在cocos2d里面使用动画和spritesheet.pdf (译)如何用cocos2d制作iphone游戏:旋转炮塔.pdf (译)如何用cocos2d制作iphone游戏:更猛的怪物和更多得管卡.pdf (译)如何使用cocos2d制作一个Slide Image Game:第一部分.pdf (译)如何使用cocos2d来制作一个塔防游戏:第一部分.pdf cocos2d 2.0 添加遮罩.pdf iOS Code Signing解惑.pdf iPhone上面的现实增强(Augmented Reality)入门教程.pdf OpenGL ES2.0 – Iphone开发指引.pdf OpenGLES2.0 Iphone开发指引:第二部分,纹理贴图.pdf 使用cocos2d和box2d制作滚动背景.pdf 加入敌人和战斗:如果使用cocos2d制作基于tiled地图的游戏:第三部分.pdf 在cocos2d里面如何使用物理引擎box2d:弹球.pdf 在cocos2d里面如何拖拽精灵.pdf 如何使用box2d来做碰撞检测(且仅用来做碰撞检测).pdf 如何使用CCRenderTexture来创建动态纹理.pdf 如何使用cocos2d1.0来给sprite添加Mask(遮罩).pdf 如何使用cocos2d制作一个塔防游戏:引子.pdf 如何使用cocos2d制作一个太空射击游戏.pdf 如何使用cocos2d制作一个打地鼠的游戏:(第二部分。完).pdf 如何使用cocos2d和box2d来制作一个Breakout游戏:第一部分.pdf 如何使用cocos2d和box2d来制作一个Breakout游戏:第二部分(完).pdf 如何使用cocos2d来制作一个打地鼠的游戏:第一部分.pdf 如何使用GameCenter制作一个简单的多人游戏教程:第一部分.pdf 如何使用GameCenter制作一个简单的多人游戏教程:第二部分.pdf 如何使用NSCoding和NSFileManager来保存你的应用程序数据.pdf 如何制作一个类似tiny wings的游戏:第一部分.pdf 如何制作一个类似tiny wings的游戏:第二部分(完).pdf 如何升级你的cocos2d版本.pdf 如何学好Iphone开发.pdf 如何查找资料.pdf 碰撞检测和收集物品:如何使用cocos2d制作基于tiled地图的游戏:第二部分.pdf (译)cocos2d精灵教程:第一部分.pdf (译)cocos2d精灵教程:第三部分.pdf (译)cocos2d精灵教程:第二部分.pdf (译)cocos2d菜单教程:第一部分.pdf (译)cocos2d菜单教程:第三部分(完).pdf (译)cocos2d菜单教程:第二部分.pdf (译)使用cocos2d和box2d来制作一个platformer游戏.pdf (译)如何使用cocos2d制作一个塔防游戏:第三部分.pdf (译)如何使用cocos2d制作一个塔防游戏:第二部分.pdf (译)如何使用cocos2d制作一个塔防游戏:第四部分(完).pdf (译)如何使用cocos2d制作一个滑动图片游戏教程:第二部分(完).pdf (译)如何用cocos2d制作一款简单的iphone游戏(第一部分).pdf

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值