爲了訪問瓦片地圖,Cocos2d-JS中訪問瓦片地圖API,主要的類有:TMXTiledMap、TMXLayer和TMXObjectGroup等。
一、TMXTiledMap
TMXTiledMap是瓦片地圖類,它的類圖以下圖所示,TMXTiledMap派生自Node類,具備Node特色。
html
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是瓦片地圖對象。
二、TMXLayer
TMXLayer是地圖層類,它的類圖以下圖所示,TMXLayer也派生自Node類,也具備Node特色。同時TMXLayer也派生自SpriteBatchNode類,全部TMXLayer對象具備批量渲染的能力,瓦片地圖層就是由大量重複的圖片構成,它們須要渲染提升性能。
函數
TMXLayer類圖性能
TMXLayer經常使用的函數以下:
getLayerName()。得到層名。
getLayerSize()。得到層尺寸,它的單位是瓦片。
getMapTileSize()。得到瓦片尺寸,它的單位是像素。
getPositionAt(pos)。經過瓦片座標得到像素座標,瓦片座標y軸方向與像素座標y軸方向相反。
getTileGIDAt(pos)。經過瓦片座標得到GID值。
三、TMXObjectGroup
TMXObjectGroup是對象層中的對象組集合,它的類圖以下圖所示,注意TMXObjectGroup與TMXLayer不一樣,TMXObjectGroup不是派生自Node,不具備Node特性。
網站
TMXObjectGroup類圖spa
TMXObjectGroup經常使用的函數以下:
propertyNamed(propertyName)。經過屬性名得到屬性值。
objectNamed(objectName)。經過對象名得到對象信息。
getProperties()。得到對象的屬性。
.net
getObjects()。得到全部對象。orm
更多內容請關注最新Cocos圖書《Cocos2d-x實戰:JS卷——Cocos2d-JS開發》視頻
本書交流討論網站:http://www.cocoagame.net
htm
歡迎加入Cocos2d-x技術討論羣:257760386
更多精彩視頻課程請關注智捷課堂Cocos課程:http://v.51work6.com
智捷課堂現推出Cocos會員,敬請關注:http://v.51work6.com/courseInfoRedirect.do?action=netDetialInfo&courseId=844465&categoryId=0
《Cocos2d-x實戰 JS卷》現已上線,各大商店均已開售:
京東:http://item.jd.com/11659698.html
歡迎關注智捷iOS課堂微信公共平臺,瞭解最新技術文章、圖書、教程信息