cocos2d-x节点(CCTMXTiledMap.h)API
来源:互联网 发布:md655ll a支持什么网络 编辑:程序博客网 时间:2024/05/17 05:17
本文来自http://blog.csdn.net/runaying ,引用必须注明出处!
cocos2d-x节点(CCTMXTiledMap.h)API
温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记
和 CCTMXXMLParser(//cocos2d-x-3.0alpha0/cocos2dx/tilemap_parallax_nodes/CCTMXXMLParser.h)类差不多都是解析地图
//cocos2d-x-3.0alpha0/cocos2dx/tilemap_parallax_nodes///和 CCTMXXMLParser(//cocos2d-x-3.0alpha0/cocos2dx/tilemap_parallax_nodes/CCTMXXMLParser.h) 类差不多都是解析地图#ifndef __CCTMX_TILE_MAP_H__#define __CCTMX_TILE_MAP_H__#include "base_nodes/CCNode.h"#include "CCTMXObjectGroup.h"NS_CC_BEGINclass TMXObjectGroup;class TMXLayer;class TMXLayerInfo;class TMXTilesetInfo;class TMXMapInfo;/** * @addtogroup tilemap_parallax_nodes * @{ *//** TMX地图可能的方向 */enum{ /** 正交方向 */ TMXOrientationOrtho, /** 六角方向 */ TMXOrientationHex, /** 等距方向 */ TMXOrientationIso,};/** @brief TMXTiledMap 知道如何解析和渲染TMX地图它增加了的 TMX tiled 的地图所使用的格式http://www.mapeditor.org它支持等距,六角形和正交瓷砖。 tiles.它还支持对象组,对象和属性。特点:- 把每个 tile 当作 Sprite 对待- sprites 根据需求创建. 只有当你调用 "layer->tileAt(position)" 它们才会被创建- 每个 tile 都可以 rotated / moved / scaled / tinted / "opaqued", 因为每个 tile 都是一个 Sprite- 在运行时可以 added/removed Tiles- teles 的 z-order 可以在运行时修改- 每个 tile 都有一个 anchorPoint (0,0) //锚点- TMXTileMap 的 anchorPoint 是 (0,0) //锚点- TMX layers will be added as a child- The TMX layers will be aliased by default //别名- 地形设置的图像将使用 TextureCache 载入- 每个 tile 都将有一个独特的 tag- 每个 tile 都将有一个独特的 z value. top-left: z=1, bottom-right: z=max z- 每个对象组将被视为MutableArray- Object类包含字典中的所有属性- 可以分配到的 the Map, Layer, Object Group, and Object 属性限制:- 每一个 layer 只支持一种地形设置.- 不支持嵌入式图像- 它只支持XML格式(JSON格式不支持)技术说明:每一个 layer 都使用一个 TMXLayer (SpriteBatchNode的子类)创建. 如果你有 5 个 layers, 那么会有 5 个 TMXLayer 被创建,除非 layer 不可见,在这种情况下,该 layer 将不被创建你可以在运行时通过下面的方式获得 layers (TMXLayer objects) :- map->getChildByTag(tag_number); // 0=1st layer, 1=2nd layer, 2=3rd layer, etc...- map->getLayer(name_of_the_layer);每一个 object group 都适用一个 TMXObjectGroup 他是 MutableArray 的子类.你可以在运行时通过下面的方式获得 object groups:- map->getObjectGroup(name_of_the_object_group);每一个对象都是一个 TMXObject.每个属性都使用 键/值 存储在一个MutableDictionary 里面你可以在运行时通过下面方式获得属性:map->getProperty(name_of_the_property);layer->getProperty(name_of_the_property);objectGroup->getProperty(name_of_the_property);object->getProperty(name_of_the_property);@since v0.8.1*/class CC_DLL TMXTiledMap : public Node{public: /** * @js ctor */ TMXTiledMap(); /** * @js NA * @lua NA */ virtual ~TMXTiledMap(); /** 使用 TMX文件 创建一个 TMX Tiled Map .*/ static TMXTiledMap* create(const char *tmxFile); /** 使用 TML格式的 XML 字符串,TMX资源路径 初始化一个 TMX Tiled Map */ static TMXTiledMap* createWithXML(const char* tmxString, const char* resourcePath); /** 使用 TMX文件 初始化一个 TMX Tiled Map */ bool initWithTMXFile(const char *tmxFile); /** 使用 TML格式的 XML 字符串,TMX资源路径 初始化一个 TMX Tiled Map */ bool initWithXML(const char* tmxString, const char* resourcePath); /** return the TMXLayer for the specific(特定的) layer */ TMXLayer* getLayer(const char *layerName) const; /** * @js NA * @lua NA */ CC_DEPRECATED_ATTRIBUTE TMXLayer* layerNamed(const char *layerName) const { return getLayer(layerName); }; /** return the TMXObjectGroup for the specific(特定) group */ TMXObjectGroup* getObjectGroup(const char *groupName) const; /** * @js NA * @lua NA */ CC_DEPRECATED_ATTRIBUTE TMXObjectGroup* objectGroupNamed(const char *groupName) const { return getObjectGroup(groupName); }; /** return 特定的属性名的值 */ String *getProperty(const char *propertyName) const; /** * @js NA * @lua NA */ CC_DEPRECATED_ATTRIBUTE String *propertyNamed(const char *propertyName) const { return getProperty(propertyName); }; /** return tile 属性字典的 GID */ Dictionary* getPropertiesForGID(int GID) const; CC_DEPRECATED_ATTRIBUTE Dictionary* propertiesForGID(int GID) const { return getPropertiesForGID(GID); }; /** map's 的尺寸属性使用 tiles 测量 */ inline const Size& getMapSize() const { return _mapSize; }; inline void setMapSize(const Size& mapSize) { _mapSize = mapSize; }; /** tiles's 的尺寸属性使用 pixels(像素)测量 */ inline const Size& getTileSize() const { return _tileSize; }; inline void setTileSize(const Size& tileSize) { _tileSize = tileSize; }; /** 地图方向 */ inline int getMapOrientation() const { return _mapOrientation; }; inline void setMapOrientation(int mapOrientation) { _mapOrientation = mapOrientation; }; /** object groups */ inline Array* getObjectGroups() const { return _objectGroups; }; inline void setObjectGroups(Array* groups) { CC_SAFE_RETAIN(groups); CC_SAFE_RELEASE(_objectGroups); _objectGroups = groups; }; /** properties */ inline Dictionary* getProperties() const { return _properties; }; inline void setProperties(Dictionary* properties) { CC_SAFE_RETAIN(properties); CC_SAFE_RELEASE(_properties); _properties = properties; }; private: TMXLayer * parseLayer(TMXLayerInfo *layerInfo, TMXMapInfo *mapInfo); TMXTilesetInfo * tilesetForLayer(TMXLayerInfo *layerInfo, TMXMapInfo *mapInfo); void buildWithMapInfo(TMXMapInfo* mapInfo);protected: /** map's 的尺寸属性使用 tiles 测量 */ Size _mapSize; /** tiles's 的尺寸属性使用 pixels(像素)测量 */ Size _tileSize; /** 地图方向 */ int _mapOrientation; /** object groups */ Array* _objectGroups; /** properties */ Dictionary* _properties; //! tile properties Dictionary* _tileProperties;};// end of tilemap_parallax_nodes group/// @}NS_CC_END#endif //__CCTMX_TILE_MAP_H__
- cocos2d-x节点(CCTMXTiledMap.h)API
- cocos2d-x节点(cocos2d.h)API
- cocos2d-X 节点(CCNode.h)API
- cocos2d-X 节点(CCLayer.h)API
- cocos2d-X 节点(CCMenu.h)API
- cocos2d-X 节点(CCMenuItem.h)API
- cocos2d-X 节点(CCSprite.h)API
- cocos2d-X 节点(CCTexture2D.h)API
- cocos2d-X 节点(SpriteBatchNode.h.)API
- cocos2d-X 节点(CCSpriteFrame.h..)API
- cocos2d-X 节点(CCAnimationCache.h)API
- cocos2d-X 节点(CCCamera.h.)API
- cocos2d-X 节点(CCAction.h)API
- cocos2d-X 节点(CCActionManager.h)API
- cocos2d-X 节点(CCIMEDelegate.h)API
- cocos2d-X 节点(CCLabelAtlas.h)API
- cocos2d-X 节点(CCLabelBMFont.h)API
- cocos2d-X 节点(CCLabelTTF.h)API
- 查找结构 动态查找树比较 树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)
- epoll使用及总结
- 使用vs2010 opencv2.4.4编译release版本程序
- UVA 557 - Burger(概率 递推)
- cocos2d-x节点(CCTMXXMLParser.h)API
- cocos2d-x节点(CCTMXTiledMap.h)API
- cocos2d-x节点(CCParallaxNode.h)API
- 淘宝装修HTML代码大全
- 黑客技术—QQ窃取
- android中图片倒影、圆角效果重绘
- linux scp Host key verification failed
- 《一个程序员的奋斗史》《疯狂的程序员》等读后感
- office在线预览功能开发
- 唐老师数据结构专题八2