继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Cocos Creator之瓦片地图

慕村9548890
关注TA
已关注
手记 1102
粉丝 227
获赞 987

一、Tiled Map 的制作

首先下载Tiled,然后新建一张地图,在这里你可以设置地图的块数,每个块的大小。


webp

新地图.png


然后鼠标右键,可以建立新的图层,添加新的块(barrier,bg),添加对象图层等操作


webp

添加块.png


最后可以保存地图为tmx格式.


二、在Cocos Creator中使用制作的tmx格式的Tiled Map

  1. 添加组件,选择TiledMap,然后将生成的地图资源拖入Tmx asset。可以查看官方文档TileMap

    webp

    TiledMap.png

2、创建js脚本然后在脚本中获取指定内容

        //获取指定名称的图层
        var layer = this.tileMap.getLayer('图层名');        //获取左上角瓦片坐标为(x,y)的图块的像素坐标
        var pos = layer.getPositionAt(x,y);        //获得当前该图块的id,注意:这里的id是从1开始的,与TiledMap Editor中显示的不同,如果返回值为0,则为空)
        var gid = layer.getTileGIDAt(0,0);
//将像素坐标转化为瓦片坐标
        getTilePos: function (posInPixel) {            var mapSize = this.map.node.getContentSize();            var tileSize = this.map.getTileSize();            var x = Math.floor(posInPixel.x / tileSize.width);            var y = Math.floor((mapSize.height - posInPixel.y) / tileSize.height);            return cc.p(x, y);
        },
编写障碍物思路和注意事项

思路
1.用Tiled编辑器创建障碍物图层。
2.控制角色移动时候判断移动瓦块坐标的gid是否为0,不为0表示有障碍物。
注意事项
1.物体的位置位移都基于像素坐标,一定注意转换关系。
2.tmx文件保存的图块是映射关系,所以图块文件和地图文件始终要放在一起。



作者:爱看书的图图图图
链接:https://www.jianshu.com/p/63b706dd0aa3


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP