虽然在一年的时间内,Windows Phone的应用数量达到6万款,但是长期以来Windows Phone上缺乏好的游戏引擎,阻碍了游戏开发者进入这个新兴的手机操作系统。Cocos2d-X for XNA的发布,相信对于那些想进入Windows Phone的iOS或Android开发者来说无疑是一个好消息。
Cocos2d-X for XNA Hello world
Cocos2d概述
Cocos2d-x是一个开源的,跨平台的,轻量级的2D游戏引擎。它基于ios平台上著名的游戏引擎cocos2d-iphone移植,支持包括 iOS, Android, Bada, BlackBerry Playbook, Windows XP, Windows 7,Linux,等多个平台。使游戏开发者能够以同一套API、甚至同一套代码将游戏分发至多个游戏平台,大大减少多个平台之间的研发和维护成本。
截至今日,已经有3000多款使用Cocos2d-iphone引擎的游戏,和200多款使用cocos2d-x实现跨平台的游戏,其中不乏 Zynga、Glu、Disney Mobile、空中网、网龙、Chillingo各手游大厂的作品,和大量荣登AppStore Top10的中小团队乃至个人开发者作品。去年以来国内大热的《捕鱼达人》也正是基于cocos2d-x引擎开发。
使用cocos2d-iphone开发的游戏
使用cocos2d-x开发的游戏
Windows Phone游戏开发
Windows Phone 7是微软最新推出的移动操作系统,其全新Metro风格的界面,流畅的用户体验使其一推出及受到各方好评。据最新数据,Windows Phone Marketplace上已经有6万多款游戏及应用,还在保持着高速增长。该平台更由于诺基亚和微软的合作,加上与Windows生态系统的整合,被看做 与iOS,Android具有强劲竞争力的新生移动生态系统。
Windows Phone操作系统
然而,由于Windows Phone目前不支持C++语言开发应用程序, 且该平台采用XNA框架作为Windows Phone上的游戏开发接口。所以基于C++的cocos2d-x和基于Objective-C语言的cocos2d-iphone版本均无法在 Windows Phone平台运行。而与此同时,Windows Phone上也没有比较好的游戏引擎,使得在Windows Phone平台开发游戏具有一定的门槛。
Cocos2d-X for XNA的远景
正是在此背景下,cocos2d-x与最早开发Windows Phone平台的游戏社交平台OpenXLive合作移植了Cocos2d-X for XNA版本,此版本的发布对于Windows Phone平台具有重要意义:
首先,Windows Phone平台还没有比较成熟的游戏引擎,大大增加了该平台游戏开发的难度和进入门槛。
“XNA本身在2D方面只提供基本的Sprite绘制和变换,你要管理游戏中无数个精灵的动作,位置,状态,触摸事件;同时对于游戏中的多个场景的 管理,对于地图文件的解析等等,这些对于基于XNA开发游戏要做大量的工作,甚至你不得不去学习3D绘制,矩阵变换等方面的一些知识。而Cocos2d- X for XNA引擎做了这些基础工作,大大降低在Windows Phone平台上开发游戏的难度,使得游戏开发者可以更多关注在游戏设计本身,而不是学习新的技术框架和接口”——Cocos2d-X for XNA游戏引擎移植的核心开发者,OpenXLive开发经理秦春林说。
其次,对于新生的移动操作系统Windows Phone而言,iOs和Android上面有大量的成熟的游戏。怎样让这些游戏能快速移植到Windows Phone平台?cocos2d-x开源社区提供了完美的方案,Cocos2d-x for XNA尽量保持了和Cocos2d框架一致的API接口,使游戏厂商只需要少量工作即可以将游戏发布至Windows Phone平台。
第三,Cocos2d是一个非常成熟的游戏引擎,它已经开发出上千款游戏,Cocos2d社区具有大量的开发资源,各种教程及官方文档,以及活跃的开发者社区。秦春林表示Cocos2d-x for XNA移植团队后续也会写大量的博客教程文档。
所以,Cocos2d-x for XNA的发布不论对cocos2d-x游戏开发者,还是对Windows Phone开发者无疑是一件重大喜事。Cocos2d-x社区组织者王哲表示。
当然,这只是第一个版本,引擎本身还不够完善,还有一部分功能没有实现。但是在这个版本之上开发者可以开始移植基于Cocos2d家族其他平台的游 戏到Windows Phone,或者直接使用Cocos2d-X for XNA开发新游戏了。Cocos2d-X for XNA开源游戏引擎的完善和成熟需要大家的不断反馈和提出建议 。
“我们会按照cocos2d-x其他版本的进度,大概每隔一个月进行一次版本更新。下一个版本我们尽量完善所有功能,再经过2个版本左右,给大家一个比较稳定的版本”,秦春林描述了下一步计划。
按照这个计划,也就是今年5月份左右就可以使用比较稳定的版本,期待Cocos2d游戏引擎可以为Windows Phone平台带来更多优秀的游戏。
开发资源
Cocos2d-x for xna的源代码下载地址:http://down.51cto.com/data/330311
Cocos2d-x for xna的源代码您也可以从git下载,下载地址:http://github.com/cocos2d/cocos2d-x-for-xna/
你也可以从http://www.cocos2d-x.org 网站找到大量关于cocos2d的资源。
为了帮助新手入门学习和使用cocos2d-x for xna引擎,cocos2d-x for xna移植小组成员刘凯威写了一个小例子,并将源代码开源到Codeplex上,大家可以从这里下载:http://tweejump.codeplex.com/
下面我们将提供一个WP7游戏开发的例子:TweeJump(cocos2d-x for xna) http://xnagame.blog.51cto.com/4387996/781990
总结
在过去的几个月中,两个团队的开发者付出了巨大的努力,成功地解决了很多棘手的技术问题。今后,Cocos2d-x和OpenXLive会持续地进 行Cocos2d-X for XNA版本的维护和新功能开发,期待能够为Windows Phone开发者提供可靠的开源游戏引擎平台而努力。
============ 欢迎各位老板打赏~ ===========
与本文相关的文章
- · WP7如何手机自定义铃声
- · The instance of entity type ‘Customer’ cannot be tracked because another instance with the same key value for {‘Id’} is already being tracked.
- · .NET8实时更新nginx ip地址归属地
- · 解决.NET Blazor子组件不刷新问题
- · .NET8如何在普通类库中引用 Microsoft.AspNetCore
- · .NET8 Mysql SSL error
- · ASP.NET Core MVC的Razor视图渲染中文乱码的问题
- · .NETCORE 依赖注入服务生命周期
- · asp.net zero改mysql
- · .NET5面试汇总
- · .Net连接Mysql数据库的Convert Zero Datetime日期问题
- · vue使用element-ui中的Message 、MessageBox 、Notification