COCOS2D-X
Unity3D与cocos2d-x有什么区别和差异?
Unity3D与cocos2d-x有什么区别和差异?
Unity3D是收费的3D游戏引擎(当然也可开发2D游戏),cocos2d-x是开源的2D游戏引擎两者皆支持跨平台开发,支持的平台各有不同。
Unity3D支持iOS、Android、Flash、Windows、Mac、Wii等平台的游戏开发,cocos2d-x支持iOS、Android、WP等。
使用的开发语言也有不同,Unity3D支持C#、javascript等,cocos2d-x支持c 、Html5、Lua等。
cocos2d和cocos2d-x一样吗?
cocos2d是OC写的,cocos2dx是c 写的cocos2d只能在ios下运行,cocos2dx是跨平台的,ios和android平台都可以运行cocos2d是外国人搞的,cocos2dx是中国人搞的。cocos2dx是cocos2d的C 写法,但是游戏架构是一样的,都包含了精灵,导演,场景,动作等概念,他们是一脉相承的东西。你可以直接研究cocos2dx,没有什么障碍。虽然是有了cocos2d才有的cocos2dx,但是cocos2dx包含了cocos2d的主要思想,因此可以直接研究cocos2dx。
怎样制作基于Cocos2d-x的SLG游戏?
本教程将会教大家如何使用Cocos2d-x来做一个基于tile地图的游戏,当然还有Tiled地图编辑器。(我们小时候玩的小霸王小学机里面的游戏,大部分都是基于tile地图的游戏,如坦克大战、冒险岛、吞食天地等)我们将会创建一个忍者在沙漠中找西瓜吃的小游戏。 在第一部分教程中,我将教大家如何使用Tile来创建地图,怎样把地图加到游戏中,怎么让地图跟随玩家滚动,以及怎样使用对象层。 在第二部分教程中,我将介绍如何在地图中创建可碰撞的区域,如何使用tile属性,如何制作可拾取的物体和动态修改地图,还有确保忍者不要吃撑了! 如果你还没有准备好的话,你可能需要先从《如何用Cocos2d-x3.0制作一款简单的游戏》系列教程开始学起,因为我们这个教程使用了大量的基本概念,而这些概念都可以从上面的教程中获取。 好了,让我们玩一玩tile地图吧! 创建工程骨架 让我们首先创建整个工程的骨架,这样可以确保今后我们需要的文件都包含进来了,并且能够跑起来。 首先工程命名为TileGame。 接下来,下载游戏资源文件。这个资源文件包里包含了以下内容: 玩家sprite。这个图片和《如何用Cocos2d-x3.0制作一款简单的游戏》差不多。 我使用cxfr这个工具制作的一些音效。 我使用Garage Band制作的一些背景音乐。(查看这篇博文获得更多的信息) 我们将会使用的tile集合--它实际上会和tile地图编辑器一块儿使用,但是,我想把它放在这里,余下的事情会变得更容易。 一些额外的“特殊”的tile,我将会在后面加以说明。 一旦你获得了这些资源,解压并把它拖到你的工程的“Resources”分组下面。(编者的话:上面的音频资源都被编者转成了mp3格式) 如果一切顺利,所有的文件应该都在你的工程里了。是时候制作我们的地图了! 使用Tile来制作地图 Cocos2d-x支持使用Tile地图编辑器创建的TMX格式的地图。(建议大家在安装的时候选择英文,本教程的Tile采用英文的) 下载完之后,直接双击运行。点击FileNew,然后会出现以下对话框: 在 orientation部分,你可以选择Orthogonal。Layer format我们也选默认的 Base64(zlib compressed)。 接下来,设置地图的大小。记住,这个大小是以tile为单位的,而不是以像素为单位。我们将创建一个尽量小的地图,因此选择50*50。 最后,你指定每个tile的宽度和高度。你这里选择的宽度和高度要根据你的实际的tile图片的尺寸来做。这个教程使用的样例tile的尺寸是32*32,所以在上面的选项中选择32*32. 接下来,我们把制作地图所需要的tile集合导入进来。点击菜单栏上面的“map”菜单,“New Tileset...”,然后会出现下面的窗口: 为了获得图片,点击“Browse...”按钮,然后定位到工程的的Resources文件夹,选择 tmw_desert_文件(我们刚才解压进去的),然后加到工程中去。它会基于文件名自动填充名称。然后把新图快 名称命名为“tmw_desert_”.同时,设置下面的Tile spacing和Margin都为1。 你可以保留宽度和高度为32*32,因为tile的实际大小也是这么多。至于margin和spacing,我还没找到任何好的文档解释如何设置这两个值,下面是我的个人看法: Margin就是当前的tile计算自身的像素的时候,它需要减去多少个像素(宽度和高度都包含在内)。(类比word、css的margin) Spacing 就是相邻两个tile之间的间隔(同时考虑宽度和高度)(类比word、css的spacing) 如果你看看 tmw_desert_,你将会看见每一个tile都有一个像素的空白边界围绕着,这意味着我们需要把margin和spacing设置为1。 一旦你选择ok,你将会看到Tilesets窗口中显示了一些tiles。现在,你可以制作地图了!在Tilesets小窗口,选择一个tile,然后再在地图上的任意位置单击,你就会看到你选中的tile出现在点中的地方了。 因此,继续制作地图吧---充分发挥你的聪明才智!确保增加至少一对建筑物在地图上,因为后面我们需要一些东西来做碰撞。 记住一些方便的快捷方式: 你可以在Tileset拾取器中拖出一个方框,一次选取多个tile。 你可以使用工具栏上的“Bucket Fill Tools”按钮(就是一个桶那个)来基于一个基准tile绘制整个地图。 你可以使用“ViewZoom In...”和“ViewZoom out...”来放大和缩小地图。 一旦你完成了地图的绘制工作,在Layers选项卡的层上面双击(现在可以说是“Layer1”),然后重命名为“Background”。然后点击“FileSave”并且保存文件到你的工程的资源文件夹中,并且命名为“”。 后面我们将会使用这个tmx来做一些有趣的事情,好了,让我们把地图加载到游戏中去吧! 把tile地图添加到Cocos2d-x的场景中 打开HelloWorldScene.h,然后添加一些成员变量: cpp // Replace the init method with the following bool HelloWorld::init() { if ( !Layer::init() ) { return false } std::string file