Cocos2d-JS中瓦片地图API
为了访问瓦片地图,Cocos2d-JS中访问瓦片地图API,主要的类有:TMXTiledMap、TMXLayer和TMXObjectGroup等。
1、TMXTiledMap
TMXTiledMap是瓦片地图类,它的类图如下图所示,TMXTiledMap派生自Node类,具有Node特点。
TMXTiledMap常用的函数如下:
new cc.TMXTiledMap(tmxFile)。创建瓦片地图对象。
getLayer(layerName)。通过层名获得层对象。
getObjectGroup(groupName)。通过对象层名获得层中对象组集合。
getObjectGroups()。获得对象层中所有对象组集合。
getProperties()。获得层中所有属性。
getPropertiesForGID (GID)。通过GID[ GID是一个瓦片的全局标识符。]获得属性。
getMapSize()。获得地图的尺寸,它的单位是瓦片。
getTileSize()。获得瓦片尺寸,它的单位是像素。
示例代码如下:
var group = _tileMap.getObjectGroup("Objects");
var background = _tileMap.getLayer("Background");
其中_tileMap是瓦片地图对象。
2、TMXLayer
TMXLayer是地图层类,它的类图如下图所示,TMXLayer也派生自Node类,也具有Node特点。同时TMXLayer也派生自SpriteBatchNode类,所有TMXLayer对象具有批量渲染的能力,瓦片地图层就是由大量重复的图片构成,它们需要渲染提高性能。
TMXLayer常用的函数如下:
getLayerName()。获得层名。
getLayerSize()。获得层尺寸,它的单位是瓦片。
getMapTileSize()。获得瓦片尺寸,它的单位是像素。
getPositionAt(pos)。通过瓦片坐标获得像素坐标,瓦片坐标y轴方向与像素坐标y轴方向相反。
getTileGIDAt(pos)。通过瓦片坐标获得GID值。
3、TMXObjectGroup
TMXObjectGroup是对象层中的对象组集合,它的类图如下图所示,注意TMXObjectGroup与TMXLayer不同,TMXObjectGroup不是派生自Node,不具有Node特性。
TMXObjectGroup常用的函数如下:
propertyNamed(propertyName)。通过属性名获得属性值。
objectNamed(objectName)。通过对象名获得对象信息。
getProperties()。获得对象的属性。
getObjects()。获得所有对象。
本书交流讨论网站:http://www.cocoagame.net
更多精彩视频课程请关注智捷课堂Cocos课程:http://v.51work6.com
京东:http://item.jd.com/11659698.html
欢迎关注智捷iOS课堂微信公共平台,了解最新技术文章、图书、教程信息
Cocos2d-JS中瓦片地图API的更多相关文章
- JS版百度地图API
地图的构建非常简单,官方的API文档也写得很清晰,我只做一总结: 一起jquery,17jquery 一.引入JS :这个很容易理解,既然是调用JS版的百度地图,肯定得引用外部的JS文件了,而这个文件 ...
- js基于谷歌地图API绘制可编辑圆形与多边形
之前的工作中需要在谷歌地图上绘制可编辑多边形区域,所以基于谷歌地图API封装了个html页面,通过调用js绘制多边形并返回各点的经纬度坐标:当然首先你要保证你的电脑可以打开谷歌地图... 新建一个ht ...
- 在网页中嵌入地图API
1.登录百度地图api,地址:http://api.map.baidu.com/lbsapi/creatmap/index.html 2.设置你的地理位置 3.简单设置下地图功能.地图的宽度和高度根据 ...
- JS调用百度地图API标记地点
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- vue中百度地图API的调用
1.使用百度地图api需要使用jsonp,来获取百度api的返回,因为vue不自带jsonp所以需要下载 安装jsonp npm i vue-jsonp -S 引入jsop import Vue fr ...
- js调用百度地图API创建地图,搜索位置
实现代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <met ...
- js调用百度地图api
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- 笔记-Node.js中的核心API之HTTP
最近正在学习Node,在图书馆借了基本关于Node的书,同时在网上查阅资料,颇有收获,但是整体感觉对Node的理解还是停留在一个很模棱两可的状态.比如Node中的模块,平时练习就接触到那么几个,其他的 ...
- js调用百度地图API创建地图
技术交流群:233513714 <html xmlns="http://www.w3.org/1999/xhtml"><head runat="serv ...
随机推荐
- Codeforces Round #290 (Div. 2) C. Fox And Names dfs
C. Fox And Names 题目连接: http://codeforces.com/contest/510/problem/C Description Fox Ciel is going to ...
- IE10、IE11出现“__doPostBack未定义”的解决办法。
方法一:浏览器设置成兼容模式,这个是超级掩耳盗铃方法,你就没想过其他人也会出这个问题. 方法二.安装服务器版的.Net40的补丁.http://download.csdn.net/detail/565 ...
- C#生成软件注册码
开发软件时,当用到商业用途时,注册码与激活码就显得很重要了.现在的软件破解技术实在在强了,各种国内外大型软件都有注册机制,但同时也不断地被破解.下面发的只是一个常用版本,发出源码被破就更容易了,但我们 ...
- Java虚拟机的启动与程序的执行
这篇文章是从 OpenJDK 源码的角度讲当我们执行了 java -classpath . hello 之后,java.exe 怎样从 main 函数開始运行,启动虚拟机,并运行字节码中的代码. 实验 ...
- Linux内存管理原理 与文件读写 图 相当详细
http://www.cnblogs.com/zhaoyl/p/3695517.html http://www.cnblogs.com/huxiao-tee/p/4657851.html#_label ...
- centos 服务器配置(三) 之定时任务
有些liunx系统已经自带定时任务crontab,但是有的新装系统还未安装定时任务,这个时候就需要我们手动对其进行安装. 安装crontab: yum install crontabs 说明: /sb ...
- 关于android在Service中弹出Dialog对话框
在创建好AlertDialog类型对象后,要 dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); 同时还 ...
- LeetCode49 Group Anagrams
Given an array of strings, group anagrams together. For example, given: ["eat", "tea& ...
- ubuntu 上使用apt-get安装oracle-jdk
Installing default JRE/JDK sudo apt-get updatesudo apt-get install default-jresudo apt-get install d ...
- MySQL(24):事务的隔离级别
1. 事务的隔离级别引入: 数据库是多线程并发访问的,所以很容易出现多个线程同时开启事务的情况,这样的就会出现脏读.重复读以及幻读的情况.在数据库操作中,为了有效保证并发读取数据的正确性,需要为事务设 ...