cocos

DNA图谱 / 问答 / 标签

如何用cocos2d-x来做一个基于TileMap地图块的游戏

 创建一个工程框架  我们将首先创建一个框架工程,以确保我们拥有下面工程中所需的所有文件。  先下载并运行helloworld(具体参见教程“如何用cocos2d-x来开发简单的Uphone游戏:(一) 下载安装和HelloWorld ”)。  接下来,下载游戏所需要的zip资源文件(TileGameResource.zip)。该zip文件包含以下内容  u2022 一个我们将作为游戏主角的精灵。这个和教程“如何用cocos2d-x来开发简单的Uphone游戏:(二) 移动的精灵”很像!  u2022 声音特效,用cxfr工具制作(by Wenderlich)。  u2022 一些背景音乐,用Garage Band制作(by Wenderlich,更多信息见post)。  u2022 地图块 - 这实际上是要用地图编辑器做的,但现在就把它和其他东西一起包含进来会更容易一些。  u2022 一些其他“特殊”的地图块,我们将在下面介绍。  好了,这些资源将在后面适当的时候添加到我们的游戏中,现在就是我们制作地图和享受乐趣的时刻了!  Cocos2DX支持由开源项目地图块图编辑器(Tiled Map Editor,国外网站,需要FQ)制作并保存为TMX格式的地图。  如果你访问上面的链接,你会看到有两个版本的编辑器 – 一种是用Qt应用程序框架编写的,另一种是用Java编写的。有两个版本的原因是因为这个编辑器最先是用Java编写的,后来他们又将它移植到Qt上来。  你要用哪个版本主要是取决于你。在本教程中,我们将介绍使用Qt版本,因为从现在开始这是编辑器的发展主线,但有些人又喜欢用Java版本,因为并不是所有的旧功能都已经被移植过来了。  不管怎样 - 如果你想跟着学习,那就下载Qt版本,然后安装运行。转到文件新建,在对话框中填写如下:    在新建地图对话框的Orientation选项,你可以选择Orthogonal(正交视图,采用的游戏Legend of Zelda)或者Isometric(等轴视图,采用的游戏Disgaea),这里,我们选择Orthogonal。  下面你得到设定地图大小。记住这是以地图块为单位,不是像素点。我们要做一张比较小的地图,因此就选择50×50。  最后设定地图块的宽度和高度。在这里你选择多大的尺寸是依赖于你的美工制作的地图块的大小的。在本教程中,我们用的是编辑器中附带的示例地图块集,每个地图块都是32×32大小的,因此选择32×32。  接下来,我们就在编辑器中加入地图块集。点击菜单栏的“Map”选项,选择“New Tileset…”,然后填写对话框:    图片可以点击Browse按钮得到,点击后导航到你的地图编辑器目录下的examples文件夹,将tmw_desert_spacing.png加到工程中.  宽度和高度32×32不用改,那个就是地图块的宽高。对于margin and spacing(边际和间距),还没有确切解释它们意思的文献,但它们应该这么理解:  u2022 边缘,指的是一个地图块的外面一圈,在这个边缘里面是实际的地图块内容。  u2022 间隔,即两个地图块之间的间距(像素单位)。  如果你看一看tmw_desert_spacing.png,你会发现每个地图块有一个1像素的黑边界,这就解释了边际和间距为什么设置作为1。  一旦你点击OK,你就将在Tilesets窗口看见地图块集。Ok,现在你也能开始画地图了! 点击在工具栏的“Stamp”图标,点击一个地图块,然后在地图上任意一个你想要的地方点击填充地图块。    继续完成你的地图吧——但一定要发挥你的想象力噢! 但请在地图上至少画一两个建筑物,因为待会我们会让我们的精灵走进你造的建筑。    这里有几个制图的小窍门,可以记住:  u2022 你可以在Tileset中拖动鼠标,同时选择几个地图块,然后填充到地图上。  u2022 你可以使用工具栏上的油漆桶按钮来填充一整片具有同样背景的地图,当然,用来填充的地图块是你在Tileset选择的。  u2022 你可以通过“查看放大...”和“查看缩小...”放大和缩小地图。  一旦你绘制完地图,在图层窗口中单击当前图层(现在这个图层就是“tile layer 1”),将名称改为“background”。然后点击“FileSave”,将文件保存到你的TileMap项目资源文件夹,并命名该文件“tilemap.tmx”。

如何用cocos2d-x来做一个基于TileMap地图块的游戏

  创建一个工程框架  我们将首先创建一个框架工程,以确保我们拥有下面工程中所需的所有文件。  先下载并运行helloworld(具体参见教程“如何用cocos2d-x来开发简单的Uphone游戏:(一) 下载安装和HelloWorld ”)。  接下来,下载游戏所需要的zip资源文件(TileGameResource.zip)。该zip文件包含以下内容  u2022 一个我们将作为游戏主角的精灵。这个和教程“如何用cocos2d-x来开发简单的Uphone游戏:(二) 移动的精灵”很像!  u2022 声音特效,用cxfr工具制作(by Wenderlich)。  u2022 一些背景音乐,用Garage Band制作(by Wenderlich,更多信息见post)。  u2022 地图块 - 这实际上是要用地图编辑器做的,但现在就把它和其他东西一起包含进来会更容易一些。  u2022 一些其他“特殊”的地图块,我们将在下面介绍。  好了,这些资源将在后面适当的时候添加到我们的游戏中,现在就是我们制作地图和享受乐趣的时刻了!  Cocos2DX支持由开源项目地图块图编辑器(Tiled Map Editor,国外网站,需要FQ)制作并保存为TMX格式的地图。  如果你访问上面的链接,你会看到有两个版本的编辑器 – 一种是用Qt应用程序框架编写的,另一种是用Java编写的。有两个版本的原因是因为这个编辑器最先是用Java编写的,后来他们又将它移植到Qt上来。  你要用哪个版本主要是取决于你。在本教程中,我们将介绍使用Qt版本,因为从现在开始这是编辑器的发展主线,但有些人又喜欢用Java版本,因为并不是所有的旧功能都已经被移植过来了。  不管怎样 - 如果你想跟着学习,那就下载Qt版本,然后安装运行。转到文件新建,在对话框中填写如下:    在新建地图对话框的Orientation选项,你可以选择Orthogonal(正交视图,采用的游戏Legend of Zelda)或者Isometric(等轴视图,采用的游戏Disgaea),这里,我们选择Orthogonal。  下面你得到设定地图大小。记住这是以地图块为单位,不是像素点。我们要做一张比较小的地图,因此就选择50×50。  最后设定地图块的宽度和高度。在这里你选择多大的尺寸是依赖于你的美工制作的地图块的大小的。在本教程中,我们用的是编辑器中附带的示例地图块集,每个地图块都是32×32大小的,因此选择32×32。  接下来,我们就在编辑器中加入地图块集。点击菜单栏的“Map”选项,选择“New Tileset…”,然后填写对话框:    图片可以点击Browse按钮得到,点击后导航到你的地图编辑器目录下的examples文件夹,将tmw_desert_spacing.png加到工程中.  宽度和高度32×32不用改,那个就是地图块的宽高。对于margin and spacing(边际和间距),还没有确切解释它们意思的文献,但它们应该这么理解:  u2022 边缘,指的是一个地图块的外面一圈,在这个边缘里面是实际的地图块内容。  u2022 间隔,即两个地图块之间的间距(像素单位)。  如果你看一看tmw_desert_spacing.png,你会发现每个地图块有一个1像素的黑边界,这就解释了边际和间距为什么设置作为1。  一旦你点击OK,你就将在Tilesets窗口看见地图块集。Ok,现在你也能开始画地图了! 点击在工具栏的“Stamp”图标,点击一个地图块,然后在地图上任意一个你想要的地方点击填充地图块。    继续完成你的地图吧——但一定要发挥你的想象力噢! 但请在地图上至少画一两个建筑物,因为待会我们会让我们的精灵走进你造的建筑。    这里有几个制图的小窍门,可以记住:  u2022 你可以在Tileset中拖动鼠标,同时选择几个地图块,然后填充到地图上。  u2022 你可以使用工具栏上的油漆桶按钮来填充一整片具有同样背景的地图,当然,用来填充的地图块是你在Tileset选择的。  u2022 你可以通过“查看放大...”和“查看缩小...”放大和缩小地图。  一旦你绘制完地图,在图层窗口中单击当前图层(现在这个图层就是“tile layer 1”),将名称改为“background”。然后点击“FileSave”,将文件保存到你的TileMap项目资源文件夹,并命名该文件“tilemap.tmx”。

cocos是什么?

cocos一款游戏开发引擎,cocos引擎的3D与H5技术,满足开发者更多需求

游戏开发引擎变革的引导者——cocos游戏引擎

随着智能手机和平板电脑的普及,手游已经成为全民娱乐的首选方式之一,不同类型的移动游戏如雨后春笋般涌现。然而,随着手游产品生命周期的缩短,手游市场产品同质化现象日渐严重。作为游戏产业链的上游,触控科技走在时代前端,推出免费、开源的cocos游戏引擎,打造游戏开发一站式解决方案,重新定义无缝工作流,助力开发者高效完成游戏开发,从容应对移动互联网时代手游市场的风云变幻,引导了一场游戏开发引擎的变革。 触控科技cocos游戏引擎 Cocos打造完善工作流,提升效率降低成本 Cocos游戏引擎的前身是Cocos 2d-x,这款被媒体誉为“千万级手游摇篮”的产品在全球被超过50万开发者使用,据不完全统计,约有两万多款精品游戏基于cocos引擎开发,曾孕育了十多款累计流水破十亿的游戏。 Cocos游戏引擎坚持“为手游而生”的宗旨,将Cocos 2d-x及其配套的跨平台游戏开发工具Cocos Studio编辑器和专为Cocos 2d-x Lua & JavaScript 开发人员准备的Cocos Code IDE代码编辑调试器等多款产品整合,用统一的入口解决了cocos产品分散和工作流不够清晰的问题。 同时,cocos游戏引擎加入了全新的Cocos Store资源商店,连接全球开发者,打造了一个分享和获得插件、资源、工具、素材等丰富资源的强大平台,从而使cocos游戏引擎无缝覆盖了手游制作的完整流程,涵盖了从前期设计、资源制作、开发调试到打包上线的全套解决方案,一方面有效提升了戏开发铁三角——策划、美术、程序的工作协同性,一方面增强了游戏开发的灵活性和便捷度。 使用cocos游戏引擎,开发者可实现一次制作,多终端平台共享成果,节约了游戏开发过程中后期移植的时间和人力成本,其UI布局可适配所有手机屏幕,在testin适配率高达99.37%,超unity。多年来,cocos始终执行Windows和Mac操作系统的同步发布更新政策,有效降低了游戏开发的硬件成本。 搭建开发者平台,推动手游行业发展进步 Cocos游戏引擎持续关注手游行业的发展动向,以手游行业的发展为导向,不断调整完善coocs的核心服务,搭建了cocos开发者平台,接入Cocos play微端手游方案、AnySDK游戏自动打包方案和畅思广告平台等产品,全方位助力开发者完成游戏开发,并实现盈利。 Chance广告具有广告嵌入流程简单,结算单价高等优势,Cocos Play模式可提升新用户转化率3倍以上,AnySDK则解决了打包问题,提供了快速灵活的渠道包输出路径u2026u2026 此外,cocos游戏引擎提供了全方位技术支持服务,开发者可随时通过技术交流QQ群、反馈平台、技术交流邮箱等方式,获得coocs技术团队专业、迅速的服务。 显而易见,cocos游戏引擎所引导的是一场基于重新定义手游开发工作流的全新变革,简短清晰、成本可控的“All in One”工作流无疑将使更多开发者专注于打造精品手游,为改变手游市场产品同质化严重的现状提供了可行性突破路径,切实推动了手游行业的发展和进步。

cocos2d-x的基本介绍

Cocos2d-x是MIT许可证下发布的开源游戏引擎,游戏开发快速、简易、功能强大。2015年2月,触控科技正式推出了游戏开发一站式解决方案cocos,将Cocos 2d-x、Cocos Studio、Cocos Code IDE等框架及工具整合在一起。 Cocos2d-x核心优势在于允许开发人员利用C++、Lua及Javascript来进行跨平台部署,覆盖平台包括iOS、Android、Windows Phone、Windows, Mac OSX 3及Tizen等等,省事省力省成本。 Cocos2d-x用户不仅包括个人开发者和游戏开发爱好者,还包括许多知名大公司如Zynga、Wooga、Gamevil、Glu、GREE、Konami、TinyCo、HandyGames、IGG及Disney Mobile等。截止2013年9月,全球基于Cocos2d-x引擎的游戏下载量高达逾15亿,其中许多还占据苹果应用商店(AppStore)和谷歌应用商店(Google Play)排行榜。同时许多公司如触控、谷歌、微软、ARM、英特尔的工程师在Cocos2d-x领域也非常活跃。另外,Cocos2d-x版本升级困难的问题,是许多开发者的一大苦恼,而经过整合的cocos,解决了Cocos2d-x的这一问题。升级cocos,其相匹配的Cocos2d-x也将自动进行升级,这极大的提高了开发效率,为开发者们带来便利,同时也为Cocos2d-x的进一步发展打下基础。

怎样看待越来越多cocos2dx程序员转unity3d,unity是否是大势所趋

1.先说说为什么cocos2d-x之前那么火:a.开源:每个CTO都认为开源可以更好的掌控引擎,万一引擎坑了可以马上改,包的大小比较容易控制,跟平台语言相互调用也方便。2.x时期,坑是一点点填得差不多了,许多技术实力强的团队也完成了自己的改造, 然而cocos2d-x在2.x到3.x期间引擎架构改了,连新建工程都一个版本一种方式,这期间坑多得让很多人都不想陪着踩一直用着2.x,现在好不容易稳定了,已经失了许多人心。b.专注2D:Unity在13年下半年才正式发布2d游戏的原生支持,之前必须依靠插件才能比较顺畅的开发2d游戏,显然已当时的手机性能,开发2d是比3d更可控,流程更短。因此当时在手游领域,cocos2d-x可谓突飞猛进,一日千里。c.跨平台:虽然Unity也能跨平台还是一键发布,然而Unity 3.x~4.x只有收费版才能支持和平台语言通信(obj-c,java等),不买正版等于没法接各种sdk。所以还是cocos2d-x这个开源的C++引擎做起这些接sdk之类的平台相关的工作比较灵活。d.cocos2d-iphone的口碑:这也是触控把cocos2d之父从Zynga挖过来做VP的原因之一,cocos2d-iphone作为iphone上早期的开源项目知名度和开发者数量都挺不错。2.再说说Unity3d更值得选择的原因:a.强大的编辑器:虽然不少程序员不太适应组件式的开发思维,然而配合稳定流畅设计合理的编辑器,很多工作可以分配给策划和美术,程序员专注于游戏逻辑。必要时通过资源商店可以购买种类丰富的插件和美术资源,甚至自己开发定制的插件,节省了宝贵的开发时间。反观cocos2d-x,最近这个版本的cocostudio才感觉不卡,之前的用几十分钟就卡得不行……功能上算是慢慢赶上来了,然而要达到unity那种随心所欲扩展的境界,估计是不可能。b.方便的跨平台:相比cocos2d-x那种还要打开ide导入工程才能发布跨平台的原始方式,Unity很早就支持了一些平台的一键发布,只需简单的设置。唯一不足的就是某些平台的发布体积较大,需要优化。值得一提的是直接发布webgl版本(通过il2cpp将c#字节码编译成c++再用emscripten将c++编译成js),目前时髦的浏览器都可以直接运行,无须任何插件,这也让adobe互联网多媒体的霸主地位开始动摇。反观cocos2d为了兼顾web,搞出了cocos2d-js这样的方案,结果是花费大量精力去做到js和c++方面api的步调一致,在发布的时候发现即使在web上流畅跑起来,要发布成原生版本还是有许多坑要探索。c.领先的3d和日渐完善的2d支持:经过10年的积累以及近几年的高速发展,Unity的3d部分是比较成熟的,能够满足大部分游戏开发者的需求。配合强大的编辑器,cocos2d-x想要追赶没那么容易。2d的支持虽然比较晚出来,但是之前的许多优秀2d插件已经证明了Unity可以胜任2d游戏制作。d.收费模式:现在的时代,独立游戏是创新的代名词,对引擎来说,获得独立游戏开发者的青睐是非常有意义的。Unity在4.x的时候还扭扭捏捏,没法用个人免费版接sdk,因为不允许和平台语言互调,而5.x是完全没有这个限制,也就是说个人免费版也可以调用java或obj-c写的插件了。而收费版只是要求一年挣了十万美刀的用户必须买个正版,也就几千刀而已,比虚幻4那种要贡献部分收入的政策简直太良心。3.综述:cocos2d-x本来是前景一片光明的,之前作为一个开源的跨平台手游2d引擎打出知名度,触控再用这个知名度去拿一些海外作品的代理间接变现。然而后面为了追求在财报上直接体现引擎的价值,去走一条大而全的道路,什么都想做,2d的流程还没做好,又搞web和3d,什么都没做好。而Unity做了好用的编辑器,设计了十分友好的制作和发布流程,以此为根基牢牢把持住3d引擎最大的市场占有率的同时,稳扎稳打,一边提升3d方面的质量,一边借鉴2d插件来开发原生2d功能,更开发了新的ui系统(这部分还开源了),还有通过建设资源商店以及游戏视频分享平台等等周边服务来维持一个健康的生态,整个战略都十分清晰稳健。顺便说下像虚幻4,cryengine这些3A领域的霸主,想要在手游和独立游戏这里跟Unity争抢一亩三分地,这方面的积累还是不够。手游行业现在已经进入了资本垄断大众市场,独立游戏争鸣小众市场的时代,无论是做更能给资本讲故事的重度游戏,还是追求艺术理想的独立游戏,Unity都能很好提供一整套的成熟的解决方案,反观cocos2d-x已然乱了阵脚,只是在宣传上下足了功夫,看我什么功能都有,看国产排行榜上多少个游戏是用我开发的……然而用起来是那么的艰涩,除非是技术实力、人力都充足的中大型团队可以在开源的基础上改造改进,其他小团队只能依赖引擎方的,在远景上已然黯淡。所以我个人认为,Unity是游戏从业者的一个比较好的选择。以上拙见仅供参考。