Cocos Creator Tiledmap——入门知识整理
来源:互联网 发布:淘宝更换支付宝账户 编辑:程序博客网 时间:2024/06/05 03:32
现在网上很多资料都比较旧了,某些api也失效了,故整理出这篇文章,方便自己复习和大家查资料用。
先贴上cocos creator中关于tiledmap的官网api文档
http://www.cocos.com/docs/creator/api/classes/TiledMap.html
以下是通过开发实践以及网上资料整理出的相关知识
·获得图层
//map: cc.TiledMapvar layer = this.map.getLayer('图层名');
·图块、瓦片坐标和像素坐标
以上面的图为例
//获取左上角瓦片坐标为(0,0)的图块的像素坐标var pos = layer.getPositionAt(0,0);//获得当前该图块的id,也就是gid(注意,这里的id是从1开始的,与TiledMap Editor中显示的不同,如果返回值为0,则为空)var gid = layer.getTileGIDAt(0,0);//将像素坐标转化为瓦片坐标,posInPixel:目标节点的positiongetTilePos: 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);},
·编写障碍物思路
有了获取图块id和像素坐标转换成瓦片坐标的方法,我们可以编写出障碍物的简单逻辑,基本思路如下
- 利用TiledMap Editor创建障碍物图层,画出障碍物
- 通过脚本获取该图层
- 获取控制对象下一刻移动的坐标,将其转换成瓦片坐标,如果getTileGIDAt(瓦片坐标)的值不为0,说明对象将要移动的位置有障碍物,不做移动处理
//移动的逻辑可以这么写var layer = this.map.getLayer('障碍物层');var mToX = ...;//移动位置x坐标var mToY = ...;//移动位置y坐标if (layer.getTileGIDAt( this.getTilePos(cc.p(mToX,mToY)))) {} else { this.node.x = mToX; this.node.y = mToY;}
先更这么多吧,未完待续。。。
阅读全文
0 0
- Cocos Creator Tiledmap——入门知识整理
- 【Cocos Creator基础教程(组件篇)】——TiledMap(瓦片地图)
- 【Cocos Creator实战教程(3)】——炸弹人(TiledMap相关)
- Cocos Creator—最佳构建部署实践
- cocos和creator向量的一些整理
- 【基于Cocos Creator+Socket.io的联机对战黑白棋(1)】——Socket.io简单入门
- 【Cocos Creator 实战教程(0)】——写在前面
- 【Cocos Creator实战教程(5)】——扫雷
- 【Cocos Creator实战教程(6)】——get47(数字消除)
- Cocos Creator学习笔记1——LabelLocalized优化
- Cocos Creator 学习笔记——获取时间
- cocos creator
- cocos Creator
- 【用Cocos Creator给暗恋的女生写一个游戏(1)】——Cocos Creator初遇见
- Cocos Creator JavaScript 快速入门(摘自官方文档)
- SLF4J学习笔记整理(一)—— 入门知识
- QT Creator入门——笔记1
- Psoc Creator 入门 —— GPIO输出
- java-web项目的分页与联合模糊查询(不使用分页框架)
- 知识点摘要
- 内轮差编辑内轮差
- PHP中图片上传
- AndroidStudio上传项目到Bintray jCenter
- Cocos Creator Tiledmap——入门知识整理
- 关于浏览器主页被hao123等页面篡改的解决方法
- 用二叉链表存储的二叉树进行先序、中序和后序遍历的算法
- 你为什么赚的这么少,也许是赚钱姿势不对
- LeetCode 31
- Linux 习题1
- hdu 1017 A Mathematical Curiosity
- Mybatis的批量插入与更新
- 用USB无线网卡在新平台全新移植并构建Linux无线网络