首先是我最近在做的一个项目的需求,要做一个斜45度角的大地图,里面有很多的建筑,会有人在里面走来走去。一个手指按住滑动可以拖动地图,两个手指按下可以调整地图的放大和缩小。

1、tiled新建地图,加入我们要做一个480*320的地图

  1. 地图方向:选择45度(交错的)这样生成的地图就基本上是矩形的,比较方便。个人感觉用正常方式的也可,不知道有人尝试过没有。
    cocos2d-x默认不支持交错式的地图,需要修改下引擎的源码,我参考的是以下两个地方
    http://blog.csdn.net/zhanghefu/article/details/22573577
    http://download.csdn.net/download/ycg514230/6801099
  2. 地图块大小:你的地图的每一个单元格的宽度、高度。大小前期美术没有做好地面以前,可以自己先临时设置一个,不影响功能开发,我设置的50、25
  3. 地图宽度:你要做的地图大小的宽度除以块宽度,最好多出几格,我设置的11
  4. 地图高度:你要做的地图大小的高度除以块高度乘以2,也是最好多出几格,我设置的27

注意,使用交错式的时候,红框里面显示的大小不太对,不用理会

  效果如图

2、添加背景层(除了能点击的建筑,其他的我统称为背景层)

将块层1修改为ground表示背景,做背景层需要考虑地图的大小、地面素材单元格的复用

1、如果地图比较小,不管有没有复用的单元格,可以直接用一张整图,没必要为了程序包小那么一点而纠结。

2、如果地图比较小,地面上可以复用的单元很少,可以考虑把背景切成几个(设备有加载的图片的最大尺寸限制),比如说ground1、ground2...

3、如果地图比较大,而且复用的单元比较多,那这个就得美术来弄一下了。

在此,我们直接用一张整图作为背景。

点击菜单栏,地图=>新图块,来添加一个地图图块,块宽度和高度直接等于原图大小

选中图片,刷到地图上合适的位置,方便我们下来对地面上的一些位置设置遮挡,设置碰撞属性等等,比如下图,树根的地方是不允许通过的,树背后是允许穿过的,但是穿过的时候,需要把角色设置为半透明,这些属性可以根据这个地图去设置。

3、添加建筑层,这一层是玩家可以点击,可以和玩家交互的,比如NPC,建筑等

    点击菜单栏,图层=>添加图层,命名为building,然后点击菜单栏,地图=>新图块,添加一个新的图块,是个小人。过程就不细说了。把小人加到地图的最右侧。

在小人图块上面右击=>图块属性,在里面新加一条键值对,key=type、value="npc1",建筑层也就基本完成了

4、添加属性层

本来这些东西是可以用对象层做,但是这斜45度角的对象层怎么不好用,不知道是否我用的软件的原因,我就用了一个图层表示了

4.1、碰撞属性层

点击菜单栏,图层=>添加图层,新建一个图层,命名为meta-collision,这个就不贴图了

点击菜单栏,地图=>新图块,添加一个用于设置碰撞属性的图块,这个也不贴图了

为新加的图块设置属性,在图块上右击=>图块属性

红色图块:

绿色图块:

在meta-collision图层中设置属性,也就是把能通过和不能通过两个属性的图块刷到该层中,最终的效果如下

  4.2、遮挡属性层

点击菜单栏,图层=>添加图层,新建一个图层,命名为meta-mask

点击菜单栏,地图=>新图块,添加一个用于设置碰撞属性的图块,也可以用这个红绿图块

为新增加的图块数值属性,和上面碰撞层的一样,绿色:mask,true  红色:mask,false

在meta-mask上面设置属性,和碰撞层一致。最终效果图如下,刷得时候把meta-collision先隐藏掉

到此,地图基本上就做好了,下来准备导入到项目里面去用了

来源网址:http://www.cnblogs.com/Androider123/p/3788443.html

Tiled实现斜45度瓦片地图相关推荐

  1. 斜45度瓦片地图(Staggered Tiled Map)里的简单数学

    瓦片地图(Tiled Map)系列文章: 斜45度瓦片地图(Staggered Tiled Map)里的简单数学 瓦片地图注意事项 前段时间在做游戏的地图编辑功能,我们是在一个斜45度视角的场景上,对 ...

  2. cocos2dx使用TiledMap模拟3D地图场景----斜45度2D地图的靠墙直线移动

     基于cocos2dx引擎的第三人称射击游戏,角色使用3D模型,地图采用2.5D.  定制地图编辑系统抛开不谈,这里最大可能的挖掘现有工具TiledMap的潜力,完成超2.5D地图的实现.  使用2D ...

  3. 45 度角地图-----斜45度角地图拼接

    45 度角地图, 可以分为 Staggered, slid 和 Diamond 三种类型 先看看地图元素: 可以看出来是个扁的菱形.这个地图元素的大小是64X32,你可以随意决定元素长宽,在设计程序时 ...

  4. tilemap 菱形_带高度的isometric tile map 斜45度 2d 地图制作

    常见的 tile map 游戏是 不带 高度变化的 也就是 地面都在一个水平面上 这样 3种 坐标 之间的变换 是比较简单的 3 种坐标系统 可以参看 这篇文章 而带有高度的 tile map 中 存 ...

  5. 编写简易斜45度地图编辑器

    最近在研究cocos2dx的地图,最开始使用的是Tiled,这个编辑器做比较小的地图还是比较强大的,不过做大地图的时候,有一些功能不太方便并且有缺陷(包括刷图繁琐以及坐标体系过于复杂,导致寻路比较看起 ...

  6. 45度斜角地图菱形坐标转换

    !!! 此文章内容为转载,没有真实实践,只给需要的朋友提供思路,具体详细算法需要自己根据项目需求变动 !!! 我们要做一个45度游戏地图中,那么如何判断鼠标点中了哪一个碎片呢??如图:   也许你想到 ...

  7. 45度角地图坐标计算 和 层级计算

    //2个方块x的距离 xdis = 38 //2个方块y的距离 ydis = -19 //传入 XY 下标 获取坐标   45度角地图 getPositonByXY(_x :number, _y :  ...

  8. Java中2.5D游戏(斜45度角)的设计与实现(1)

    通常的概念中,2D也就是所谓的二维,也就是平面图形--即由X与Y坐标构成的图形,其内容由水平的X轴向与垂直的Y轴描绘确定,也就是由长和高的形成所谓的二维平面. 而所谓3D,也称之为三维.其图形内容除了 ...

  9. 45度角地图--地图绘制

    用的瓷砖是这个样子的,存放于Tile页面(tileWidth*tileHeight)中,定义常量  tileWidth=64;tileHeight=32;  绘制在画布上,定义常量  canvasWi ...

最新文章

  1. cocos2d-x 错误异常抛出捕获和崩溃拦截
  2. 让英文版windows 8支持非Unicode程序的语言方法
  3. 脏读、幻读和不可重复读 + 事务隔离级别
  4. java 文件指定位置插入_java中想在一个文件中的某一个位置插入内容,如何操作?...
  5. Thinkphp下嵌套UEditor富文本WEB编辑器
  6. Linux socket编程(一) 对套接字操作的封装
  7. Oracle和MySQL的几点区别
  8. mate30支持鸿蒙系统,Mate30不能使用GMS服务,华为P30不能通过谷歌安全认证,华为:鸿蒙系统不远了...
  9. oracle 9.2.0.1下载,Oracle 9i 从9.2.0.1升级到 9.2.0.6 步骤
  10. java返回ajax的请求值
  11. 我是如何高效录制出那么多高质量 gif 动图的呢?
  12. cad计算机快捷键设置,2014年CAD计算机快捷键
  13. Vue项目使用v-drag实现拖拽功能
  14. 用java读excel时,碰到常规类型但全是数字或小数的,往往会自动加上.0或者自动读成科学计数法的解决办法
  15. Mounty for Mac(NTFS格式读写工具)
  16. 日本一年纪行之吃在日本
  17. BGP 十一条选路原则与BGP路由传递的注意事项介绍
  18. python 图灵机器人
  19. 「Premiere教程」为视频添加文字字幕
  20. openlayers设置黑色底图,自定义修改天地图颜色

热门文章

  1. geoip2 InvalidDatabaseError: Invalid node in search tree
  2. 基于Arduino的公交车报站器
  3. 计算从前某个时间距离现在经过了多久时间
  4. Java中String字符串:空字符串、存放空的字符串、null的区别
  5. 5个顶级的硬盘数据恢复软件
  6. 路印协议:代码全开源,要做链外撮合+链上交易的新型交易模式
  7. 关于EFI启动安装系统的一些心得
  8. 555定时器及其应用
  9. 远程计算机用户端口号,如何修改远程桌面端口号(手把手教你修改桌面端口号)...
  10. CAD图块:什么是动态块?CAD动态块怎么使用?