Tiled地图编辑器tiled2unity 怎么用用

cocos2d-x 3.2 |Tiled地图编辑器使用
cocos2d-x 3.2 |Tiled地图编辑器使用
cocos2d-x 3.2 |瓦片地图--对象与图层的区别
提要:研发横版动作类游戏时,常用到地图编辑工具,mac平台我们经常用到一款(版本 0.9.1)
下面讲解一下在cocos3.2版本中,编辑器使用以及代码中读取地图.tmx文件的方法。
在开始之前,美术会提供给策划或程序一个xx*xx元素大小的图片,布满了场景所需的元素
该图片可以通过编辑器切割成相同大小的块(tiled),前提需要算好每一块像素值。
打开编辑器----文件----新文件(创建你的第一张地图)
地图方向:
3.45°交错
根据项目不同自行设置,这里我选择正常.
第二步,把设计师给你的牛掰图素加入进来
添加一个图块:地图-----新图块
1.名称 根据策划案文档填写(因为会有很多地图需要制作,好的命名是工作效率的大前提)
2.图像 寻找到美术大神给你的图片吧
& & & & 3.透明度 根据项目需求自行设定
重点4.块 &宽、高 &这里的数值一定是通过平均计算得到的,保证每一块都是一个独立的个体。裁切有风险,计算需谨慎!!!
6.绘制偏移
加入后效果如图所示:
每个方格都一般大小,这就方便 了我们在拼接场景时做到无缝和多样性。
这里需要讲一个概念:图层
如下所示(图上只有前两种)
图层分三种:添加图层 ---&地图层:例如地图层
添加对象层---&事件层:怪物、道具、技能等
增加图像图层---&大图、直接贴在场景中得原设等
游戏制作中,会分多个图层来设计场景,比如会有角色层、场景层(近景、中景、背景层)、还会有金币层、植物层等等等等,
每一层都放置着单一的类,方便游戏修改、调试。
每新建一个层右侧的层列表里会多出一个层名称,(可勾选隐藏/显示)方便我们绘制其他层&
下面是我做的两个层:场景层 + 角色层 如下所示:
大家可能会注意到,角色层为什么看不到?这是因为角色是场景中的可变物体,经常会产生变化或修改,
这里地图上透明的小方块是我们将来生成怪物的对象点,此方块也是地图事件触发位置,
可以理解为场景中将要出现的:特效 怪物 动画 初始位置
使用方法是在 设计好的场景中点击如下这类图标,随后在你的地图上随便点击一下,会生成一个跟背景格子一样大小的方格 OK !
设计完场景、对象层之后,在输出.TMX文件之前我们还需要一道工序,那就是把图层中添加的这些事件(对象)做一个分类,
点击右侧对象视图:如下
如图所示,我们会看到我们新建的所有对象层,每个对象层下面会有多个对象,双击名称即可修改。
下面输出地图。
注意:地图块本身的图像必须提前放置在项目资源目录下:Resources
其次再导出地图到Resources目录下,保证图素(.png)+.地图(tmx)文件始终存在于同一目录下即可!
待续。。。
我的热门文章
即使是一小步也想与你分享cocos2d-x体验(49)
cocos2d-x学习(43)
CC_BREAK_IF(! CCLayer::init());
_tiled=CCTMXTiledMap::create(&tiled.tmx&);
this-&addChild(_tiled);
//获取英雄的对象层,再根据层获取某英雄的对象
CCTMXObjectGroup *object =_tiled-&objectGroupNamed(&hero&);
CCDictionary *spawnPoint=object-&objectNamed(&hero1&);
winsize =CCDirector::sharedDirector()-&getWinSize();
int px=spawnPoint-&valueForKey(&x&)-&floatValue();
int py=spawnPoint-&valueForKey(&y&)-&floatValue();
//CCLog(&x=%f,y=%f&,px,py);
_player=CCSprite::create(&Player.png&);
CC_BREAK_IF(!_player);
_player-&setAnchorPoint(CCPoint(0,0));
_player-&setPosition(ccp(px,py));
//获取所有敌人位置,再其中创建敌人
object=_tiled-&objectGroupNamed(&enemy&);
for(int i=0;i&int(object-&getObjects()-&count());i++)
CCDictionary *enemy=(CCDictionary *)object-&getObjects()-&objectAtIndex(i);
if(enemy-&valueForKey(&n&)-&intValue()==1)
CCSprite *s=CCSprite::create(&enemy.png&);
float x=enemy-&valueForKey(&x&)-&floatValue();
float y=enemy-&valueForKey(&y&)-&floatValue();
s-&setPosition(ccp(x,y));
s-&setAnchorPoint(CCPoint(0,0));
_tiled-&addChild(s,4);
CCActionInterval *move=CCMoveBy::create(2,CCPoint(_player-&getPosition().x-s-&getPosition().x&0?10:-10,_player-&getPosition().y-s-&getPosition().y&0?10:-10));//
CCFiniteTimeAction *func=CCCallFuncN::create(this,callfuncN_selector(HelloWorld::goon));
s-&runAction(CCSequence::create(move,func,NULL));
代码下载地址 :
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:101004次
积分:1566
积分:1566
排名:千里之外
原创:52篇
转载:10篇
评论:40条
(8)(3)(2)(1)(3)(2)(5)(4)(1)(9)(1)(6)(2)(4)(7)(5)转的 在这个分为上下两部分的教程中,我们将介绍如何使用Cocos2D-X和地图编辑器做一款基于地图块的游戏。在这个简单的地图块游戏里,一个精灵将在沙漠里搜寻它可口的西瓜!在教程的第一部分,我们将介绍如何创建一个地图,如何将地图添加到游戏中,如何滚动地图以跟着玩家跑,以及如何使用对象层。在本教程的第二部分,我们将介绍如何在地图上制作碰撞区,如何使用地图块的属性,如何制作宝藏并动态的修改地图,以及如何确保你的忍者不暴饮暴食。如果你还没有学习“如何用cocos2d-x来开发简单的Uphone游戏:(一) 下载安装和HelloWorld&”,你不妨先学习下这个教程,因为这个教程里有很多基础知识我们下面要用到。好吧,让我们开始探险之旅吧!创建一个工程框架我们将首先创建一个框架工程,以确保我们拥有下面工程中所需的所有文件。先下载并运行helloworld(具体参见教程“如何用cocos2d-x来开发简单的Uphone游戏:(一) 下载安装和HelloWorld&”)。接下来,下载游戏所需要的zip资源文件(TileGameResource.zip)。该zip文件包含以下内容o 一个我们将作为游戏主角的精灵。这个和教程“如何用cocos2d-x来开发简单的Uphone游戏:(二) 移动的精灵”很像!o 声音特效,用cxfr工具制作(by Wenderlich)。o 一些背景音乐,用Garage Band制作(by Wenderlich,更多信息见post)。o 地图块 - 这实际上是要用地图编辑器做的,但现在就把它和其他东西一起包含进来会更容易一些。o 一些其他“特殊”的地图块,我们将在下面介绍。好了,这些资源将在后面适当的时候添加到我们的游戏中,现在就是我们制作地图和享受乐趣的时刻了!Cocos2DX支持由开源项目地图块图编辑器(Tiled Map Editor,国外网站,需要翻墙)制作并保存为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(边际和间距),还没有确切解释它们意思的文献,但它们应该这么理解:o 边缘,指的是一个地图块的外面一圈,在这个边缘里面是实际的地图块内容。o 间隔,即两个地图块之间的间距(像素单位)。如果你看一看tmw_desert_spacing.png,你会发现每个地图块有一个1像素的黑边界,这就解释了边际和间距为什么设置作为1。一旦你点击OK,你就将在Tilesets窗口看见地图块集。Ok,现在你也能开始画地图了! 点击在工具栏的“Stamp”图标,点击一个地图块,然后在地图上任意一个你想要的地方点击填充地图块。继续完成你的地图吧——但一定要发挥你的想象力噢! 但请在地图上至少画一两个建筑物,因为待会我们会让我们的精灵走进你造的建筑。这里有几个制图的小窍门,可以记住:o 你可以在Tileset中拖动鼠标,同时选择几个地图块,然后填充到地图上。o 你可以使用工具栏上的油漆桶按钮来填充一整片具有同样背景的地图,当然,用来填充的地图块是你在Tileset选择的。&o 你可以通过“查看/放大...”和“查看/缩小...”放大和缩小地图。一旦你绘制完地图,在图层窗口中单击当前图层(现在这个图层就是“tile layer 1”),将名称改为“background”。然后点击“File/Save”,将文件保存到你的TileMap项目资源文件夹,并命名该文件“tilemap.tmx”。我们后面还将做更多的东西,但现在让我们把这张地图加载到游戏中!把地图加载到Cocos2DX场景中首先,因为我们是利用uphone的sdk开发游戏,所以我们先将资源也就是tilemap.tmx和tmw_desert_spacing.png拷贝到sdk所在目录的子目录“/UserData/”中。然后,将HelloWorld.cpp的initCocos2d()函数用下面的代码替换:bool&HelloWorldAppDelegate::initCocos2d(){&&//&init&director&&CCDirector::getSharedDirector()-&setOpenGLView(m_pMainWnd);&&//&set&to&landscape&mode&&&CCDirector::getSharedDirector()-&setDeviceOrientation(kCCDeviceOrientationLandscapeLeft);&&//&load&the&tile&map&&CCTMXTiledMap&*pDesertTileMap&=&CCTMXTiledMap::tiledMapWithTMXFile(&tilemap.tmx&);&&pDesertTileMap-&setPosition(CGPoint(0,0));&&&//&create&layer&instance&&CCLayer&*pLayer&=&MyLayer::node();&&pLayer-&addChild(pDesertTileMap,&0,&1);&&//&add&layer&to&scene&&CCScene&*pScene&=&CCScene::node();&&pScene-&addChild(pLayer);&&&&//&add&scene&to&director&&CCDirector::getSharedDirector()-&runWithScene(pScene);&&return&}在这里,我们用到了CCTMXTiledMap类,通过它加载了我们制作的地图。现在大概的介绍下CCTMXTiledMap。这是一个CCNode,所以你可以设置它的位置,尺寸等,该节点的子节点是地图上的层,而且也有 一个接口可以通过名字来获取这些层,比如这里的“background”层。每一个层都是CCSpriteSheet的子类,这也意味着每一层你只能有一 个tileset。所以我们在这里做的是保存tilemap和background的关系,并且把tilemap加到HelloWorld的layer上去。这样就很ok了!编译和运行代码,你应该看到的是你地图的左下角:还不赖! 但我们做的是游戏,所以我们还需要做三件事: a)一个精灵, b)精灵的出生点 和c)移动我们的视图,以便我们可以看到精灵。这是我们会感到棘手的地方,下面我们就来解决掉它!对象层和地图位置的设置地图模块支持两种层,一种是地图层(就是我们上面一直在接触的),另一种是对象层。对象层允许你在地图指定一个位置,在这个位置可以响应一些事件。比如,你希望有一个地方让精灵出生或者挂掉。在我们的教程中,我们要创建一个精灵的出生点。那么,选择菜单栏中的“Layer/Add Object Layer…”,将该层命名为“objects”,然后单击确定。现在如果你在地图上画,你会发现它不是直接画地图块,而是画一个形状怪异的灰色框框,你可以放缩和移动这个灰色框框。我们只是想选一个位置来放置我们的精灵,所以在地图上随便选一个位置单击。框框的大小并不重要,因为我们只需要用到x,y坐标。然后右键单击灰色框框和点击“Properties”,命名为“spawnpoint”,点击OK :假如你在这里设置了对象的类(Cocos2DX的类,比如CCSprite),那么代码会自动创建一个对应类型的对象。(不过的泰勒指出,这是Cocos2DX以前的版本才具有的功能,现在已经被删除了。)不管怎样,我们将type置空,那么它将为我们创建一个NSMutableDictionary,我们可以通过它访问该对象的各个属性,包括X,Y坐标。保存地图并返回到代码,在HelloWorld.cpp的initCocos2d()接口中,在代码://&load&the&tile&mapCCTMXTiledMap&*pDesertTileMap&=&CCTMXTiledMap::tiledMapWithTMXFile(&tilemap.tmx&);pDesertTileMap-&setPosition(CGPoint(0,0));的下面,加入以下代码//&load&the&object&layer&and&get&the&coordinate&of&the&spawnpointCCTMXObjectGroup&*objGroup&=&pDesertTileMap-&objectGroupNamed(&objects&);CCXStringToStringDictionary&*spawnPoint&=&objGroup-&objectNamed(&spawnpoint&);float&fSpawnPointX&=&spawnPoint-&objectForKey(&x&)-&toFloat();float&fSpawnPointY&=&spawnPoint-&objectForKey(&y&)-&toFloat();&//&load&player&image&textureCCTexture2D&*pPlayerTexture&=&CCTextureCache::sharedTextureCache()-&addImage(&Player.png&);&//&create&sprite&instanceCCSprite&*pPlayer&=&CCSprite::spriteWithTexture(pPlayerTexture);pPlayer-&setPosition(CGPoint(fSpawnPointX,&fSpawnPointY));//&add&the&player&to&the&tile&mappDesertTileMap-&addChild(pPlayer);Ok,我们再解释一下对象层和对象组。在这里,我们通过CCTMXTiledMap对象的objectGroupNamed接口得到了对象层,它返回的是一个CCTMXObjectGroup对象。然后,我们通过CCTMXObjectGroup的objectNamed方法来得到一个NSMutableDictionary,它包含了对 象层的对象的一堆有用的信息,包括X和Y坐标,宽度和高度。不过这里我们关心的是X,Y坐标,所以我们就只取得X,Y坐标,并把它作为精灵的位置。编译运行代码我们就可以看到精灵了。下面我们再让它动一动。在代码//&add&scene&to&directorCCDirector::getSharedDirector()-&runWithScene(pScene);的下面,添加代码://&move&the&playerCCIntervalAction&*move&=&CCMoveBy::actionWithDuration(5,&ccp(140,&120));&&&&&CCIntervalAction&*back&=&move-&reverse();&&&&&CCFiniteTimeAction&*seq&=&CCSequence::actions(move,&back,NULL);&&&&&pPlayer-&runAction(&CCRepeatForever::actionWithAction((CCIntervalAction*)&seq)&);这里的几个action类是对动作的封装。上面代码的含义是表示精灵将向右上方移动,相对位置是(140, 120),并在五秒钟内完成移动,然后反方向移回到原来位置。Ok,先运行你的代码,然后欣赏你的精灵开心的跑来跑去吧!
最新教程周点击榜
微信扫一扫【Cocos2dx工具Tiled工具使用】
【Cocos2dx工具Tiled工具使用】
写在前面——
如果转载请注明出处,谢谢大家支持
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
——Forward
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&我的微博——
QQ技术交流群——forTheDream()
地图的编辑
&&&&在之前的博客中,Forward有提到过一个比喻,游戏开发就好像画家画画,所有游戏中的元素需要一个承载体,画面的承载体是画纸,游戏的承载体是地图(场景)。那么接下来我们就来学习一下一个比较经典的地图编辑器——Tiled。(下载安装过程,这里略去,网上的相关资料略多,这里不再赘述)。&&&&&&
&&&&首先来看看Tiled主界面——
我们需要新建项目,如下图2所示,选择新建项目:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&弹出图3所示对话框,我们在这个对话框中对目标地图开始一个初始的设置。
&&&&&&&&&&&&&&&&&&&&&&&&&&
其中,地图选项组中的跨度和高度指的是你编辑获得的地图的横向和纵向的格子数目,而块大小选项组中的宽度和高度则指的是每一个块的像素宽和像素高。
&&&&这里需要说明的是,因为Forward编辑的目标地图是一个768&1024分辨率的地图,每个格子大小为32&32像素的正方形格子,因此,Forward选择地图大小选项组中的宽度和高度分别为24和32。当然,根据项目的需要,我们自己来设定格子数目。
&&&&我们在一个初始的地图图层上放上自己的图块对象就可以完成一个简单的地图。但是我们在此之前需要将自己的图块导入到工程中,所谓的图块其实就是一张png或者jpg类型的图片而已。如图4所示,我们选择菜单栏地图选项并在他的下拉列表中选择添加一个新图块——
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&如图5所示,在弹出对话框中的名称一栏填入我们对新图块的命名,图像一栏可以通过“浏览”来选择资源路径,点击确定完成新图块的导入。
&&&&&&&&&&&&&&&&&&&&&&&
&&&&图6,资源导入成功。
导入新图块完成之后,我们就可以像使用画刷一样来使用新图块中的资源来绘制我们的地图了。
&&&&编辑过程不再说明,来张编辑效果图把——
&&&&&&&&&&&&&&&&
&&&&这样一个可视的地图就展现在我们面前了,但是这样的地图在程序中怎么加载呢?加载到程序中又该怎么去使用呢?在程序世界中应该是一个一个对象的集成的,这里如果只是用这么一张图块创建一张地图的话,加载的程序中几乎没什么用。我们需要在它的基础上在创建一个对象层,而这个对象层上我们会布置上对应的对象,这样当我们在程序中去加载这张地图时就可以通过解析对象层来获得一张对象地图,在游戏开发中就可以操作各个对象去完成预期的效果
&&&&如下图8,在图层窗口右键点击创建一个对象层——
&&&&&&&&&&&&&&&&&&&&&&&
&&&&有了这个对象层之后呢,我们就可以在对象层上去创建自己需要的对象了,选择工具栏上对应的工具。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&Forward这里需要的地图中的每个对象都是正方形的,所以选择如图9所示。OK,选择好对象创建工具,开始创建对象。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&Tiled支持一个对象占用多个瓷砖块,这个可以根据自己游戏的需要去完成。并且我们可以根据需要对每个对象进行一些属性的设置。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&好的,保存地图得到tmx地图文件一张,这里需要说明的是,其实后面的那层对于程序中来说其实不是必需的,我们大可以把那一层删掉,只保留对象层,但是为了方便后续地图再编辑修改,我们也可以将后面一层保留。
地图的加载使用
&&&&有了前面创建的地图,我们怎么在程序中来使用它呢?带着这个问题,我们继续后续的学习——
&&&&在cocos2dx中我们可以找到一个CCTMXTiledMap类,这个类可以帮助我们完成对tmx格式地图文件的创建和操作。
pTMXTiledMap = cocos2d::CCTMXTiledMap::create("GameSceneMap.tmx");
this-&addChild(pTMXTiledMap,0,1);
通过create接口创建,并且add到场景中即可,这样我们就成功将这张地图加载到程序中了。这里需要说明的是,如果你按照Forward前面提到的将后面的背景层保留,那么我们看到的是如图13所示的结果。
可以明显看到,场景中只有一个对象,那就是这张地图,而我们几乎从这张地图上不能获得我们所预期中的对象属性。
但是如果你将背景层删掉了,我们得到的结果是什么呢——地图确确实实加载成功了,但是我们的场景中什么都看不到,别灰心,我们除了创建加载这样地图外,还需要一些额外的工作去做,那就是解析tmx地图中的对象属性。
cocos2d::CCTMXObjectGroup* group =
pTMXTiledMap-&objectGroupNamed("Objects");
cocos2d::CCArray* objects = group-&getObjects();
cocos2d::CCDictionary* pDic = NULL;
cocos2d::CCObject* pObject = NULL;
CCARRAY_FOREACH(objects, pObject)
pDic = static_cast(pObject);
ParseObject(pDic);
查看上面一段代码清单,操作过程是这样的。通过objectGroupNamed接口根据我们编辑tmx地图的时候给对象层起的名字获得对象组,然后通过objects接口我们可以获得这个层上的所有对象,这些对象保存在一个Array中,然后我们就可以对每个对象进行逐个解析了(说明一下的是这里我们将每个Object转换为CCDictionary来处理,这样地图上的这个对象属性就以键值对的方式保存在对应的CCDictionary中了)。
那么针对每个对象,我们是如何解析的呢?
(strcmp(pDictionary-&valueForKey("name")-&getCString(),"Tree") == 0)
Tree* pTree = new
pTree-&initWithFile("tree.png");
atoi(pDictionary-&valueForKey("x")-&getCString());
atoi(pDictionary-&valueForKey("y")-&getCString());
pTree-&setAnchorPoint(ccp(0,0));
pTree-&setPosition(ccp(x,y));
pTMXTiledMap-&addChild(pTree);
ObjectManager::getInstance()-&AddObject(pTree);
我们通过对比对象name值判定如果是树木,就创建一棵“树”并设置其属性之后添加到场景中。
好了,其他对象的解析过程大致类似,这里我们就不再赘述了,华丽丽来一张解析之后的运行效果图吧~
&&&&&&&&&&&&&&&&
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Tiled Map地图编辑器键盘快捷键 - swen - 博客园
Tiled是款不错的地图编辑器,不过快捷键真是隐蔽啊,不看github上得wiki根本不知道,用的过程中查英文文档总是觉得慢,所以翻译成了中文。
右键点击图块(tile):复制图块到图章刷(拖动可以复制更大的区域)
Ctrl+鼠标滚轮:缩放图块集或地图
Ctrl+加号/减号:缩放地图
Ctrl+0:调整地图到标准大小
Ctrl+对象大小调整:贴合到网格
Ctrl+对象移动:贴合到网格
鼠标中间点击/空格:拖动地图位置
F5:运行默认命令
Ctrl+C:复制
Ctrl+V:粘帖
Ctrl+X:剪切
Delete:删除(从0.8.0版本开始)
H:高亮当前图层(从0.8.0版本开始)
A:自动映射(从0.8.0版本开始)
Alt+C:复制当前鼠标位置(图块坐标系,即图块编号)到剪贴板(从0.8.0版本开始)
Ctrl+Shift+D:复刻(复制+粘贴)选定图层
F2:重命名当前图层
Page Up:选择当前图层的上一个图层
Page Down:选择当前图层的下一个图层
Ctrl+Shift+Up:上移当前图层
Ctrl+Shift+Down:下移当前图层
Ctrl+Shift+H:切换可见性(仅当前图层可见/所有图层都可见)
Ctrl+Page Up:切换到左边的文档
Ctrl+Tab:切换到左边的文档(从0.8.0版本开始)
Ctrl+Page Down:切换到右边的文档
Ctrl+Shift+Tab:切换到右边的文档(从0.8.0版本开始)
Ctrl+G:切换网格的可见性
Ctrl+W:关闭当前文档
Ctrl+Shift+W:关闭所有文档
Ctrl+E:导出当前文档
Ctrl+T:强制重载当前地图用到的所有图块集(当没有使用自动重载时有用)
当一个图块图层被选中时
B:激活图章刷工具
F:激活填充工具
E:激活橡皮擦工具
R:激活矩形选择工具
Ctrl+1..9:保存当前选择的图块(类似复制)
1..9:读取保存的图块(类似粘贴)
当一个对象图层被选中时
S:激活选择对象工具
E:激活编辑多边形工具
R:激活插入矩形工具
C:激活插入椭圆工具
P:激活插入多边形工具
L:激活插入折线工具
T:激活插入图块工具
当使用图章刷工具时
Shift+点击:按直线填充,自动填充图块到起始位置的连线上
Ctrl+Shift+点击:按圆形填充,自动填充图块到起始位置为半径的圆周上
X:水平翻转刷子(从0.7.0版本开始)
Y:垂直翻转刷子(从0.7.0版本开始)
Z:顺时针翻转刷子(从0.8.0版本开始)
Shift+Z:逆时针翻转刷子(从0.8.0版本开始)
当使用矩形选择工具时
Ctrl+A:选择整个图层
Ctrl+Shift+A:取消选择
在属性编辑窗口
Delete/Backspace:删除一个属性

我要回帖

更多关于 tiled2unity 怎么用 的文章

 

随机推荐