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

Stella981
• 阅读 587

作者:cls分享站

目前已有教程:

  1.  CitrusEngine系列教程一:认识CitrusEngine

  2. CitrusEngine系列教程二:结合starling和Box2D开发游戏

  3. CitrusEngine系列教程三:使用flash cs 设计关卡

  4. CitrusEngine系列教程四:Citrus的2D动画和摄像头

  5. CitrusEngine系列教程五:使用PhysicsEditor创建box2d刚体

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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的相对路径,如:

复制代码

=> 原文及网盘下载

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Stella981 Stella981
2年前
Docker系列之MySQL安装教程
Docker系列之MySQL安装教程!在这里插入图片描述(https://oscimg.oschina.net/oscnet/up290e6ea2ceb61c35d155a02d468e92e5.png)有了前面的基础教程Docker系列之常用命令操作手册(https://www.oschina.net/action/GoToLink?
Wesley13 Wesley13
2年前
Java爬虫之JSoup使用教程
title:Java爬虫之JSoup使用教程date:201812248:00:000800update:201812248:00:000800author:mecover:https://imgblog.csdnimg.cn/20181224144920712(https://www.oschin
Wesley13 Wesley13
2年前
P2P技术揭秘.P2P网络技术原理与典型系统开发
Modular.Java(2009.06)\.Craig.Walls.文字版.pdf:http://www.t00y.com/file/59501950(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.t00y.com%2Ffile%2F59501950)\More.E
Stella981 Stella981
2年前
CitrusEngine系列教程三:使用flash cs 设计关卡
教程出自cls分享站(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.chenlinsheng.com%2F)1.CitrusEngine系列教程一:认识CitrusEngine(https://www.oschina.net/action/GoToLink?url
Stella981 Stella981
2年前
CitrusEngine系列教程七:修改hero的默认动画(修改按键和增减动作)
作者:cls分享站(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.chenlinsheng.com)最近比较忙活,工作和家里都有些烦心的事情要处理,教程已经许久没更新了,感觉有点过不去啊。恰好今天有人问我如何修改hero默认按键和添加动画的问题,于是决定写一篇教程介绍一下~
Stella981 Stella981
2年前
CitrusEngine系列教程二:结合starling和Box2D开发游戏
教程出自cls分享站(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.chenlinsheng.com%2F)1.CitrusEngine系列教程一:认识CitrusEngine(https://www.oschina.net/action/GoToLink?url
Stella981 Stella981
2年前
CitrusEngine系列教程五:使用PhysicsEditor创建box2d刚体
作者:cls分享站(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.chenlinsheng.com%2F)目前已有教程:1.CitrusEngine系列教程一:认识CitrusEngine(https://www.oschina.net/action/GoToLi
Stella981 Stella981
2年前
CitrusEngine系列教程四:Citrus的2D动画和摄像头
作者:cls分享站(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.chenlinsheng.com%2F)1.CitrusEngine系列教程一:认识CitrusEngine(https://www.oschina.net/action/GoToLink?urlht
Stella981 Stella981
2年前
CitrusEngine系列教程一:认识CitrusEngine
教程作者:cls分享站(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.chenlinsheng.com%2F)1.CitrusEngine系列教程一:认识CitrusEngine(https://www.oschina.net/action/GoToLink?url