Cocos2d-JS中瓦片地图API
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cocos2d-JS中瓦片地图API相关的知识,希望对你有一定的参考价值。
原文地址:“http://blog.sina.com.cn/s/blog_7bdd50c90102vqzj.html”
为了访问瓦片地图,Cocos2d-JS中访问瓦片地图API,主要的类有:TMXTiledMap、TMXLayer和TMXObjectGroup等。
1、TMXTiledMap
TMXTiledMap是瓦片地图类,它的类图如下图所示,TMXTiledMap派生自Node类,具有Node特点。
TMXTiledMap类图
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类图
TMXLayer常用的函数如下:
getLayerName()。获得层名。
getLayerSize()。获得层尺寸,它的单位是瓦片。
getMapTileSize()。获得瓦片尺寸,它的单位是像素。
getPositionAt(pos)。通过瓦片坐标获得像素坐标,瓦片坐标y轴方向与像素坐标y轴方向相反。
getTileGIDAt(pos)。通过瓦片坐标获得GID值。
3、TMXObjectGroup
TMXObjectGroup是对象层中的对象组集合,它的类图如下图所示,注意TMXObjectGroup与TMXLayer不同,TMXObjectGroup不是派生自Node,不具有Node特性。
TMXObjectGroup类图
TMXObjectGroup常用的函数如下:
propertyNamed(propertyName)。通过属性名获得属性值。
objectNamed(objectName)。通过对象名获得对象信息。
getProperties()。获得对象的属性。
getObjects()。获得所有对象。
以上是关于Cocos2d-JS中瓦片地图API的主要内容,如果未能解决你的问题,请参考以下文章