网易科技讯 3月31日,第四届CocoaChina开发者大会暨Cocos2d-x技术研讨会在北京剧院举行,微软技术平台经理徐玉涛与Cocos2d-X开发者张晓明进行了主题为“基于Cocos2d-X forXNA的Windows Phone游戏开发”的演讲。
主持人:
接下来请微软技术平台经理徐玉涛,他会为我们介绍“基于Cocos2d-X forXNA的Windows Phone游戏开发”。
徐玉涛:
各位开发者大家好!
很高兴今天在这样一个特殊的日子来到Cocos2d开发者大会,为什么今天特殊呢?因为我们介绍完Cocos2d-XforXNA以后,大家可以找到电信厅,就可以购买Windows Phone手机了,今天是Windows Phone在中国上市的第一天。
作为一个新的平台我们有哪些新的东西?我们会为开发者准备什么样好的干货,我会用5页的PPT给大家介绍。Cocos2d-X社区的开发者做了大量的工作,我希望把后面的时间还给他们,让他们更多的给大家介绍一下这个引擎到底是什么样的情况。我叫徐玉涛,我在微软开发工具与平台事业部,大家对开发有兴趣的可以随时跟我联系。
我演讲的主题叫“全新全易”,微软这样一个很关心游戏开发的公司,我们在后期作为游戏开发者,可以在三屏一云的战略下我们的PC端、手机端,甚至以后可能会进入中国的电视端会看到统一的用户体验。对游戏开发者的好处是,你可以让你的游戏在三不同的平台上,在三个不同的用户体验场景下获得一样的游戏体验,所以我们在不同的设备上,通过一致的用户体验连接了消费者渝开发者,同时我们也为开发者提供了一套统一的开发平台,你可以把你的游戏发送到不同的设备上去。
我们看一段小的视频(播放视频)。Windows Phone,全新全易,开发者怎么理解它?全新而言我们带来了市场机会,在两周前我去了上海,我见了一个做移动游戏开发的伙伴,他告诉了一个数据,欧洲市场在过去三个月里面,每个月的增长率达到了90%,在Windows Phone的平台上,带来了可观的增长。如果在座的开发者觉得自己的游戏品质非常好可以联系我们,在Windows Phone里面有一个打着标签的游戏,这类游戏是要通过认证的。如果你对自己的游戏品质很有信心,你对海外市场也比较有信心,你可以找我们,通过我们可以跟他们建立联系,他会有一套方法帮你的游戏做审核,你的游戏是否达到品质。
作为一个开发者,在六年前我也是做开发,做开发最痛苦的是要不断地维护代码,考虑不同的环境,不同的设备。Windows Phone在这款操作系统设计之时就想到了这个问题,大家在做Windows Phone游戏开发的时候,你只需要关注好你自己的代码、游戏创意、内容,不用考虑这款游戏做出来会不会在不同品牌手机上运行会有问题,大家不用关心。以后大家在市面上买这么多Phone的手机,虽然有不同物理屏幕的尺寸,但是分辨率是统一的,对开发者来说不用更多的考虑适配。在权益方面,我们也带来了两个维度,一个是MSDN,我们已经把所有的各种各样的开发文档,包括SPK都发到MSDN上,大家可以去分享。
说一下Cocos2d-X for XNA的身世,去年Cocos2d找到我们,希望我们在Windows Phone上做开发。通过我们合作,大家互相支持,这个版本已经就绪了。我们做过一些评估,工作量一下下降了50%,是非常可观的,目前已经开发下载了,同时也是开源免费的。在开发者活动上,我们有一个网站,在这里大家可以看到我们有哪些开发者支持计划,甚至有一个SDK跟中国电信合作,大家可以到中国电信的游戏中心,我们还给开发者提供开发者计划。
我要说的地方比较小,我请另外一位神秘演讲人,张小明同学给大家介绍一下这款引擎的详细内容。
张小明:
大家好,我叫张小明。我在QQ群里面就用自己的真实名字,相信很多人在QQ群或者是论坛上面都和我打过交道。今天下午主要想跟大家交流一下Cocos2d-X for XNA版本的技术情况。
第一,Cocos2d-X跟Cocos2d-XforXNA的关系。
第二,提供哪些功能?怎么用?
第三,如果用Cocos2d-X版本开发游戏,怎么移植到Cocos2d-X forXNA。
讲这些内容照顾两方面的开发者,第一个是以前没有用过Cocos2d-X的游戏引擎,你们要知道有哪些功能。如果有使用过Cocos2d-X开发过游戏的话,你可以知道Cocos2d-X和Cocos2d-X for XNA之间有什么区别。
我用代码说一下这两者之间的异同点。Cocos2d-X开发主要的目的之一就是要维护开发者的利益,保障开发者的知识可以传承,只要你使用了Cocos2d-X相关的引擎,那么我们就要为你负责。如果这个引擎有三部分,使用的语言、支持的平台和代码。-X是引擎的子类,语言使用是C++,平台是Android、ios等等。它们的区别第一是语言不同;第二支持平台不同,但是有一个相同点,就是他们要支持相同的API。
for XNA版本支持那些内容?显示图片、动画效果、粒子效果、显示文本、添加菜单、播放音乐音效。显示图片基本上三、两个代码就可以做到了,以前有一个模板,添加代码就可以显示一张图片,这个例子其实已经包含了大部分 for XNA和-X之间的区别,大家可以看到在C++版本是有指针的,在XNA版本不需要内存管理,所以是没有指针的概念;对资源加载不同,-X对资源的路径包括文件的格式,在XNA版本只要传文件名字不需要格式。通过一张图片显示,设置位置,告诉引擎你需要渲染这张图片,引擎就会渲染。
动画效果:假设移动到某一个位置,第一个参数就是要几秒钟内做完这个动作,第二就是移动到哪里,引擎就会自动在每周帮你计算偏离量是多少,平滑的完成这个动作。引擎里面有各种各样的动作,只是举其中一个例子。
粒子效果:引擎里面实现了各种各样的种类,只要创建一个抬头,设计需要的纹理是什么,设置一个位置,引擎会自动帮你添加实现粒子效果。同样,需要三、四行代码。
显示文本:显示文本的内容,需要使用的字体,字体的大小,设置一个位置,把文本加进去。
添加菜单:创建菜单,把菜单项加到菜单,设置菜单的位置加进去。
播放音乐、音效:背景音乐、音效,引擎是音效模块,大家可以看到二者的区别和之前加载图片的区别是一样的,中间不需要格式后缀。
如果用Cocos2d-X开发的游戏一直到Windows Phone版本大家可以看到不同点和相同点。相同点:1、接口相同;2、引擎框架相同;3、同样的社区支持。不同点:1、内存管理方式不同;2、成员变量访问形式不同;3、资源访问方式不同;4、微软、诺基亚的大力支持。
谢谢。