CitrusEngine系列教程六:使用Tiled Map Editor创建地图

作者:cls分享站

之前 CitrusEngine系列教程三的时候,我们已经探讨如何使用flash cs 设计关卡,现在我们来看一下如何使用Tiled Map Editor创建地图,其实两者所做的事情有些类似,就看游戏需要和开发者如何权衡了~

Tiled 地图编辑器是一种用于通用目的的编辑器,可以用来创建2D和2.5D的地图。特点是比较好用,风格类似mini版的photoshop。它可以用于制作多种类型的游戏引擎需要,而且支持使用插件读写map、增加用于引擎的map格式。

最重要的开源,且有中文版,哈!另外其相关教程网上也有不少,如:

这些教程虽然大多是基于cocos2d或其他游戏平台,但创建地图的步骤基本上是一样的,所以同样有很好的参考价值。因此,我这里将把重点放在探讨编辑后的地图(.tmx文件)在CitrusEngine的使用方法上~

那么在开始前,我们需要一张纹理图集和软件(=>官网下载),以下是我从Citrus官网例子弄来的纹理图集(Genetica-tiles.png):

http://www.chenlinsheng.com/?p=509

是不是跟我们系列教程四提到的Sprite Sheet的位图序列很像,其实应该也可以说是一样的东西吧,这种图片可以用ps,flash和TexturePackerGUI等工具来生成,具体做法,会在后续教程介绍….

现在我们先看一下软件界面:

http://www.chenlinsheng.com/?p=509

1.首先点击1处新建地图,同时会弹出一个框设置地图相关信息,以下是我的设置:

http://www.chenlinsheng.com/?p=509

2.导入纹理图集,操作步骤:地图》新图块。同时弹出导入框:

http://www.chenlinsheng.com/?p=509

3.导入之后,你可以看到在图块界面上,Genetica-tiles.png被按照64*64切成了一块块

http://www.chenlinsheng.com/?p=509

4.现在我们将图块里面的图片拖到舞台上的不同图层上进行平铺,所以我们先点4处新建背景层,平台层等,双击图层的名字可以改名:

http://www.chenlinsheng.com/?p=509

5.编辑地图,将图块放在相应图层,具体做法可以参照上面的教程(文章末也有源文件下载):

http://www.chenlinsheng.com/?p=509

6.添加对象层,操作步骤:对象》4处,同时将对象层成命名为object。

http://www.chenlinsheng.com/?p=509

7,.选中object层,点击3处开始绘制对象位置:

http://www.chenlinsheng.com/?p=509

8.将对象与CitrusEngine相关联,关联方法与“使用flash cs 设计关卡”时基本一致,关联Hero类时添加了名称“hero”,同样是为了可以在代码中通过name进行访问设置。顺便一提,同样可以通过图层的名字对图层进行设置,在下面代码也有示例

http://www.chenlinsheng.com/?p=509

9.保存,我将其命名为map.tmx。

10.将map.tmx与Genetica-tiles.png复制至flex项目,通过[Embed]嵌入使用:

  1. public class TiledMapState extends State
  2. {
  3. [Embed(source="/../assest/map.tmx",mimeType="application/octet-stream")]
  4. private const _map:Class;

  5. [Embed(source="/../assest/Genetica-tiles.png"]
  6. private const _ImgTiles:Class;

  7. public function TiledMapState()
  8. {
  9. super();
  10. var objects:Array=[Hero,Platform];
  11. }

  12. override public function initialize():void{
  13. super.initialize();

  14. var box2D:Box2D=new Box2D("box2d");
  15. box2D.visible=true;
  16. add(box2D);

  17. var bmp:Bitmap=new _ImgTiles();
  18. //添加name,使我们知道哪张图片呗选择了
  19. bmp.name="Genetica-tiles.png";

  20. ObjectMaker2D.FromTiledMap(XML(new _map()),[bmp]);
  21. var hero:Hero=getObjectByName("hero") as Hero;

  22. view.camera.setUp(hero, new MathVector(stage.stageWidth / 2, 240),
  23. new Rectangle(0, 0, 1280, 640),new MathVector(.25,.25));

  24. (view.getArt(getObjectByName("background-elements")) as SpriteArt).alpha = 0.5;

  25. }
  26. }
复制代码
最后源码奉上,运行的时候报找不到图片的错误,就用文本编辑工具(如:记事本)打开map.tmx,修改image的 source,将其为flex的相对路径,如:
  1. <?xml version="1.0" encoding="UTF-8"?><map version="1.0" orientation="orthogonal" width="20" height="10" tilewidth="64" tileheight="64"><tileset firstgid="1" name="Genetica-tiles" tilewidth="64" tileheight="64"><image source="Genetica-tiles.png" width="640" height="256"/></tileset>
复制代码
=>   原文及网盘下载  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
cocos2d是一个流行的游戏开发引擎,而Tiled Map Editor是一个针对2D游戏开发的地图编辑器软件。这两者结合使用,可以帮助开发者更高效、便捷地制作游戏中的地图。 cocos2d引擎提供了丰富的功能和工具,用于创建2D游戏。而Tiled Map Editor则是用于制作游戏地图的工具。它提供了一个用户友好的界面,可以在里面创建、编辑和管理游戏地图。用户可以在Tiled Map Editor中自定义地图的大小、背景色、分块大小等属性。 在制作地图时,Tiled Map Editor允许用户在画布上绘制各种元素,如地面、墙壁、河流等。用户还可以在画布上放置各种可交互的物体,如玩家、敌人、道具等。这些元素和物体都可以通过Tiled Map Editor方便地进行定位、调整和编辑。 当地图制作完成后,开发者可以将其导出为某种格式,如XML或JSON。然后,cocos2d引擎可以读取这些格式的地图数据,将其加载到游戏中。cocos2d提供了专门的API和函数,用于解析和渲染Tiled Map Editor导出的地图数据。这样,游戏就可以实时显示地图,并根据实际情况进行交互。 使用cocos2d和Tiled Map Editor可以极大地简化游戏地图的制作过程。它们提供了一套完善的工具链,使开发者可以快速有效地创建、编辑和使用游戏地图。无论是在平面视角的角色扮演游戏,还是在横版平台游戏,cocos2d和Tiled Map Editor都可以为开发者带来很大的便利和效率提升。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值