Tiled起凡地图编辑器怎么用用

2012年2月 移动平台大版内专家分月排行榜第二2012年1月 移动平台大版内专家分月排行榜第二2011年5月 移动平台大版内专家分月排行榜第二2011年4月 移动平台大版内专家分月排行榜第二2009年1月 移动平台大版内专家分月排行榜第二
2011年12月 移动平台大版内专家分月排行榜第三2011年11月 移动平台大版内专家分月排行榜第三2011年9月 移动平台大版内专家分月排行榜第三2011年8月 移动平台大版内专家分月排行榜第三2010年3月 移动平台大版内专家分月排行榜第三2010年2月 移动平台大版内专家分月排行榜第三2009年4月 移动平台大版内专家分月排行榜第三2009年3月 硬件/嵌入开发大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。用户名:mssyy2010
评论数:18
访问量:70219
注册日期:
阅读量:1297
阅读量:3317
阅读量:433641
阅读量:1121340
[匿名]啊啊啊啊:
51CTO推荐博文
代码参考王哲博客 C++版本
吐槽:原文说是上下篇,结果有了上篇,没了下文。。。
Qt版本瓦片地图编辑器的使用
我使用Qt版本的瓦片地图编辑器,设定地图大小。记住这是以地图块为单位,不是像素点。
在编辑器中加入地图块集,边距间距都选择一像素,为什么?因为给的图片资源每个格子间有间隔
Margin就是当前的tile计算自身的像素的时候,它需要减去多少个像素(宽度和高度都包含在内)。(类比word、css的margin)
Spacing&就是相邻两个tile之间的间隔(同时考虑宽度和高度)(类比word、css的spacing)
边缘,指的是一个地图块的外面一圈,在这个边缘里面是实际的地图块内容。&
间隔,即两个地图块之间的间距(像素单位)。
按照博客里要求,点击图层按钮,加入对象层,有了对象层真的是方便了不少,因为我们可以根据自定义的位置来获得精灵的一些属性了,默认为6种属性,name,type,
x,y,height,width(在程序中用的还是属性的英文名),命名为spawnpoint,位置在图4中显示,图层(这里是唯一的背景层)重命名为background,对象层命名objects
图4 地图全貌
把tile地图添加到cocos2d-x的场景中
接下来就是要在cocos2d-x中使用了,生成项目,就用HelloWorld。
首先在类声明中加了个成员CCTMXTiledMap *_tileM
在init方法中添加代码
_tileMap&=&CCTMXTiledMap::tiledMapWithTMXFile(&tilemap.tmx&);&_tileMap-&setPosition(ccp(0,&0));&&this-&addChild(_tileMap);&&&&&&&&
王哲博客说明:CCTMXTiledMap。这是一个CCNode,所以你可以设置它的位置,尺寸等,该节点的子节点是地图上的层,而且也有 一个接口可以通过名字来获取这些层,比如这里的&background&层。每一个层都是CCSpriteSheet的子类,这也意味着每一层你只能有一 个tileset。
上面是王哲大大博客里的说明,最常用的子节点就是对象层,而他说的对应接口就是objectGroupNamed()方法。
接下来再添加下述代码
CCTMXObjectGroup&*objGroup&=&_tileMap-&objectGroupNamed(&objects&);&CCStringToStringDictionary&*spawnPoint&=&objGroup-&objectNamed(&spawnpoint&);&float&fSpawnPointX&=&spawnPoint-&objectForKey(&x&)-&toFloat();&float&fSpawnPointY&=&spawnPoint-&objectForKey(&y&)-&toFloat();&&CCTexture2D&*pPlayerTexture&=&CCTextureCache::sharedTextureCache()-&addImage(&player.png&);&CCSprite&*pPlayer&=&CCSprite::spriteWithTexture(pPlayerTexture);&pPlayer-&setPosition(ccp(fSpawnPointX,&fSpawnPointY));&_tileMap-&addChild(pPlayer);&//pPlayer-&setPosition(CGPoint(fSpawnPointX,&fSpawnPointY));
王哲博客说明:对象层和对象组。在这里,我们通过CCTMXTiledMap对象的objectGroupNamed接口得到了对象层,它返回的是一个CCTMXObjectGroup对象。然后,我们通过CCTMXObjectGroup的objectNamed方法来得到一个CCMutableDictionary,它包含了对 象层的对象的一堆有用的信息,包括X和Y坐标,宽度和高度。不过这里我们关心的是X,Y坐标,所以我们就只取得X,Y坐标,并把它作为精灵的位置。
吐槽:谎言,根本就看不到,因为视角在左下方,必须要调整视角才能看到。
子龙山人博客说明:首先,注意你通过CCTMXTiledMap对象的objectGroupNamed方法来获得对象层(而不是layerNamed方法)。它返回一个特殊的CCTMXObjectGroup对象。我们然后调用CCTMXObjectGroup类的objectNamed方法来获得一个CCMutableDictionary,这个字典包含了关于对象的大量信息,包括x和y坐标值,宽度和高度。在这个例子中,我们只关心x和y坐标,因此,我们提取出这两个信息,并且设置player的位置。
子龙山人博客中视角解决方法:
void&HelloWorld::setViewpointCenter(CCPoint&position)&{&&&&&CCSize&winSize&=&CCDirector::sharedDirector()-&getWinSize();&&&&&int&x&=&MAX(position.x,&winSize.width/2);&&&&&int&y&=&MAX(position.y,&winSize.height/2);&&&&&x&=&MIN(x,&(_tileMap-&getMapSize().width&*&_tileMap-&getTileSize().width)&-&winSize.width/2);&&&&&y&=&MIN(y,&(_tileMap-&getMapSize().height&*&_tileMap-&getTileSize().height)&-&winSize.height/2);&&&&&CCPoint&actualPosition&=&ccp(x,&y);&&&&&&CCPoint&centerOfView&=&ccp(winSize.width/2,&winSize.height/2);&&&&&CCPoint&viewPoint&=&ccpSub(centerOfView,&actualPosition);&&&&&this-&setPosition(viewPoint);&}&
子龙山人相关文章链接:
这回终于看到猥琐的大哥了!!650) this.width=650;" alt="" src="/neweditor/editor/images/smiley/30.gif" />
下一篇 瓦片地图在cocos2d-x应用增强版
&本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:未分类┆阅读(0)┆评论(0)& Tiled Map Editor 使用说明
Tiled Map Editor 使用说明
1. 首先下载 Tiled Map Editor:
地图编辑器:
资源图片集:
解压,然后下载资源图片解压,保存在examples目录下面
(点击Read more 阅读全文)
我们最终将编辑下图的地图,并用Python读出来:
2. 图块命名如下:
tile01.png
tile02.png
tile03.png
3. 运行 tiled.exe,选择:文件-&新文件:
按照这个对话框填写,然后“确定”
4. 打开资源管理器将文件“Tile01.png” 拖入上图右下角“图块”面板:
设置宽度,高度为32,边距,间距为0,然后确定。
这时tile01.png已经被按照刚才的规则切割好了,放在右下角的面板中。点击工具栏上的“图章刷”或者按键盘B就可以进入刷子绘制模式了,然后从右下角选择你需要绘制的图块,就可以在中间区域绘制了。
如法炮制,我们再将tile02.png拖入到右下角的图块面板:
右下角就有两个图块选项卡了,一个代表刚才的tile01.png, 一个是现在的tile02.png。接着选择一个草的图块,并在工具栏上选择“填充”(或者按F),将背景全部刷成草地:
5. 图块一次性可以选择很多块(用鼠标拖着,我们先简单的画一些沙子地形上去,还有池塘:
接着到主菜单“图层”选择“添加块层”,右上角的“图层”面板就多了一个图层2:
我们选中“块层2”以后就可以在这个图层上编辑了,不会影响到刚才的图层,接着在这个图层上添加树木和房屋,拖入tile3.png以后在“图块”面板拖动鼠标整体选择房屋图块:
注意房屋图块在tile03的右下角,需要再“图块”面板的“tile03”这个标签下,将滚动条拖到右下,接着在”块层2”上建房顶:
在右上角选择块层1,然后右下角选择对应图块给房子建墙:
然后接着编辑“块层2”,在墙上绘制门窗,然后同样的方法绘制另外一间木屋:
6. 继续绘制地图,添加希望添加的内容:
然后新建一个图块层4,用来表示可以走不可以走的地方,随便选一个颜色明显的图块,在图块层4上表示不能走的区域:
编辑好不可走的区域后,如果不想它影响画面,可以将右上“图块层4”前面的勾去掉,就不显示了。
7. 最终我们要导出成python可以识别的格式:选择主菜单-&编辑-&参数:
将“另存为数据层”选择为“CSV”,然后关闭。
这时候用“文件”-“保存”功能保存成“game1.tmx”
8. 用文本编辑器,打开game1.tmx文件,可以看到如下内容:
呵呵,一看就明白,就是CSV,前面记录了右下角“图块”的资源文件以及切割方式,ColorKey等,后面每个图层都用CSV格式来记录了里面的数据,0代表没有,1代表tile01.png的左上角第一个图块,2代表tile01.png左上角左数第二个图块:
tile01被按照32×32的大小切割成了20×28个小图块。按照行优先存储,在tile01左上角的第一个图块编号为1,往右一个图块是2,再往右就是3,第二行左数第一个图块就是编号21。
在game1.tmx的如下部分:
&tileset firstgid="1" name="Tile01" tilewidth="32" tileheight="32"&
&image source="Tile01.PNG" trans="ff00ff" width="640" height="896"/&
&/tileset&
&tileset firstgid="561" name="Tile02" tilewidth="32" tileheight="32"&
&image source="Tile02.PNG" trans="ff00ff" width="640" height="960"/&
&/tileset&
&tileset firstgid="1161" name="Tile03" tilewidth="32" tileheight="32"&
&image source="Tile03.PNG" trans="ff00ff" width="640" height="480"/&
&/tileset&
其中 firstgid代表这个资源文件的左上角第一个图块的开始编号,如Tile02图块,它左上角第一个图块编号就是561.非常清爽明白的定义。
好了,有了这些,就可以在python中方便的解析了。
Categories:
Recent Postsmapwin和Tiled(游戏地图编辑器)使用指南
本文主要介绍目前开发游戏比较流行的两款工具mappy(mapwin)和tiled,分别介绍工具的安装、使用、优缺点分析,虽然不能面面俱到,但使用要点之处都已说明。作为开发游戏的fans们必不可少的入门指南。 一、何所谓“地图编辑器” 地图编辑器,顾名思义,就是用来编辑地图的工具,如果玩过《魔兽争霸》或是《帝国时代 2 》、《英雄无敌》的话,应该会知道这几款游戏都附有地图编辑工具,可提供玩家自行编辑地图关卡,地图编辑器就具有类似的功能。 二、mappy(mapwin)入门指南: 1.预备知识: tile:中文名字-瓷砖,呵呵,也就是平铺在某个物体表面上的单元。使用过j2me的Tile或者vc开发游戏的都知道。 playback library:回放库,支持装载和显示mapwin的FMP地图文件的库。 2.mapwin简介:
软件名称:mapwin 版本: 1.4.11 运行环境:windows 依赖库文件:libpng12.dll、zlib.dll 用途:灵活的建立2d、3d游戏的tile。 强大的回放库支持:DirectX、Allegro、OpenGL、Java、CDX、SDL、Delphi、Blitz Basic、Dark Basic、GBAMappy、Combined、GameMaker等 3.快速安装导航: 首先就是下载,作者下载的是mapwin1.4.11版。 如果需要支持PNG图片,那么就要到下载两个dll文件: zlib.dll-用于文件压缩,下载地址: libpng12.dll-libpng的window版,png图像压缩库,下载地址: 安装这两个dll文件很简单,方法就是直接复制到mapwin目录下。 4.快速使用导航: (1)第一步就是启动程序。然后File-&new map,新建一个map,设置每个tile的长宽和map包含的tile的行数和列数。
(2)根据提示进入File-&Import...,选择作为tile的图片,这样右侧会出现以前面设置的按照每个tile的长宽划分的图片tile。 (3)此时就可以使用鼠标选取tile,在map中的适当位置点击便会将此tile画在map上。使用右键可以删除map上的title。
(4)mapwin默认只有一个layer,如果要新建layer的话,可以通过Layer-&add layer实现,map上方的状态条会显示鼠标当前的位置和当前Layer的层数。 (5)map完成后,按ctrl+s保存,选择File-&export as text,将map导出为用map数组表示的文本。其中“Map Array(s) Prefix with”选项可以修改为java语言表示数组的形式:new int[][]。这样就会生成j2me中可用的代码片断,可以直接用到程序中。
5.优缺点: 优点:与tiled相比,支持2d、3d游戏,具有很多的游戏开发接口和语言;使用相应的回放库可以设置碰撞检测等扩展功能。 缺点:缺少快捷工具栏,操作速度慢。 三、tiled入门指南: 1.预备知识: Tileset:tile的集合,这是tiled管理tile的一种分组方式。每个tile有一个name来代表。 Tile的存在方式:tiled软件管理tile的方法与众不同。tile默认只保存在map中,也可以导出为.tsx文件供多个map共用。 2.tiled简介:
软件名称:Tiled 版本:0.5.1 运行环境:支持java的os 依赖库文件:无 用途:tiled地图编辑器是一种用于通用目的的编辑器。特点是比较好用,风格类似mini版的photoshop。它可以用于制作多种类型的游戏引擎需要,而且支持使用插件读写map、增加用于引擎的map格式。 3.快速安装导航: 下载,然后解压缩,可以发现tiled.jar文件,使用java -jar tiled.jar命令来运行之。 4.快速使用导航: (1)使用File-&new,进入New Map Dialog对话框,其中可以选择Map的类型,设置Map size和Tile size,这和mapwin很类似。
(2)建立map之后,系统会默认分配一个layer,但是并没有Tileset,所以选择Tilesets-&New tileset...建立tileset。输入Tileset名字后,选取“Reference tileset image”选项,浏览Tile image所使用的图片。其中的“Tile spacing”为设置Tile四边的边框,因为不常用,所以经常被设置为0。
(3)在增加了tileset后,点击左下角的按钮可以看到tile的调色板,这时便可以在调色板中选择合适的tile在map上构图了。
tile左侧的工具栏提供了快捷工具:move layer、paint、erase、fill、eye dropper(取色器)、select、缩放。而在右侧是类似photoshop的layer manger,用来新建layer、复制layer、锁定layer、隐藏layer。 eye dropper的使用方法有两种:一种是选择eye dropper工具,然后在map中选择tile;另一种方法更快捷-直接在map中的tile上点击鼠标右键。
(4)当map画好后,按ctrl+s可以将map保存为tmx文件。 (5)对map文件内容的解释:
&&&&&&&&&?xml version=&1.0& ?& &&&&&&&&&map orientation=&orthogonal& width=&32& height=&32& tilewidth=&24& tileheight=&24&& &&&&&&&&&&&tileset firstgid=&1& name=&Sewers& tilewidth=&24& tileheight=&24&& &&&&&&&&&&&&&image source=&tiledweb/files/tiles_pipes.png&/& &&&&&&&&&&&/tileset& &&&&&&&&&&&layer name=&Layer 0&& &&&&&&&&&&&&&data encoding=&base64& compression=&gzip&& &&&&&&&&&&&&&&H4sIAAAAAAAAAO3NoREAMAgEsLedAfafE4+s 6l0jolNJiif18tt/Fj8AAMC9ARtYg28AEAAA &&&&&&&&&&&&&/data& &&&&&&&&&&&/layer& &&&&&&&&&/map&
&&&&&&&&此文件表示了这个map只有一个tileset和一个layer,注意一下前面建立map和tileset时输入的数据不是所有都在这个文件中,因为使用默认的属性(如tile spacing)是不会保存在这个文件中的。 &&&&&&&&由于一个tile可以被多个map引用,所以layer的data属性值使用base64编码、使用gzip压缩的一个32位整数的数 组,它代表了tile的全局id--firstgid。每个tile内部使用自己的local id,而firstgid作为在多个map中区分tile的标识。 &&&&&&&& 注意此软件没有导出为map数组的功能,只能使用View-&Show Coordinates显示坐标。 5.优缺点: 优点:易用。使用xml规范作为map文件的书写规范有利于用户自定义修改和功能的扩展。 缺点:缺少与游戏开发语言的接口,还需要进一步的开发扩展。
四、参考资源: mappy官方网站:http://www.tilemap.co.uk/index.html Tiled官方网站:http://tiled.rpgdx.net/index.html zlib官方网站:http://www.zlib.net/ libpng官方网站:http://gnuwin32.sourceforge.net/packages/libpng.htm
谢谢。有用
这个可以关注!感谢分享 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
mapwin和Tiled(手机游戏地图编辑器)使用指南 doc
下载积分:400
内容提示:mapwin和Tiled(手机游戏地图编辑器)使用指南 doc
文档格式:PDF|
浏览次数:76|
上传日期: 04:35:17|
文档星级:
全文阅读已结束,如果下载本文需要使用
 400 积分
下载此文档
该用户还上传了这些文档
mapwin和Tiled(手机游戏地图编辑器)使用指南 doc
官方公共微信

我要回帖

更多关于 起凡地图编辑器怎么用 的文章

 

随机推荐