COCOS-Tiled地图类
来源:互联网 发布:sql多个统计结果 编辑:程序博客网 时间:2024/06/11 02:02
一、TMXTiledMap类
cocos2dx提供了TMXTiledMap类来管理tiled瓦片地图,主要包括地图层、瓦片信息等,其主要方法、属性如下:
class CC_DLL TMXTiledMap : public Node{ // 使用.tmx格式的文件创建瓦片地图 static TMXTiledMap* create(const std::string& tmxFile); /** * 获取瓦片地图的属性信息 **/ // 获取瓦片地图的指定名称的属性值 Value getProperty(const std::string& propertyName) const; // 获取瓦片地图的所有属性(键-值对) void setProperties(const ValueMap& properties); // 可以修改属性 ValueMap& getProperties(); // 获取瓦片地图(单位:瓦片数量) void setMapSize(const Size& mapSize); Size& getMapSize() const; // 获取单个瓦片的尺寸(单位:像素) void setTileSize(const Size& tileSize); Size& getTileSize() const; // 通过GID获取图块的属性,返回Value字典 // 其实返回的是:ValueMap,即(键-值对) Value getPropertiesForGID(int GID) const; /** * 获取地图层、对象层 **/ // 获取指定名称的地图层 TMXLayer TMXLayer* getLayer(const std::string& layerName) const; // 获取指定名称的对象层 TMXObjectGroup TMXObjectGroup* getObjectGroup(const std::string& groupName) const; // 获取瓦片地图的所有对象层,返回对象数组 Vector<TMXObjectGroup*> void setObjectGroups(const Vector<TMXObjectGroup*>& groups); Vector<TMXObjectGroup*>& getObjectGroups() const; // 瓦片地图的尺寸,以瓦片数量为单位 Size _mapSize; // 瓦片的尺寸,以瓦片像素为单位 Size _tileSize;};
二、TMXLayer类
TMXLayer类管理tiled的地图层,包含该地图层中的每个瓦片的信息,而每一个瓦片都被表示成精灵,其主要方法、属性如下:
class CC_DLL TMXLayer : public SpriteBatchNode {/** * 获取地图层的属性信息 **/ // 获取地图层的名字 void setLayerName(const std::string& layerName); // 可以重新设置地图层名字 std::string& getLayerName(); // 获取地图层的propertyName属性值 Value getProperty(const std::string& propertyName) const; // 获取地图层的所有自定义属性字典(键-值对) void setProperties(const ValueMap& properties); ValueMap& getProperties(); // 获取地图层尺寸,一般等于瓦片地图的尺寸(单位:瓦片数量) void setLayerSize(const Size& size); Size& getLayerSize() const; // 设置瓦片尺寸的大小,一般与瓦片地图的瓦片尺寸是一样的(单位:像素) void setMapTileSize(const Size& size); Size& getMapTileSize() const; /** * 对地图层的瓦片进行操作 **/ // 获取指定tile坐标的瓦片(Sprite) Sprite* getTileAt(const Vec2& tileCoordinate); // 可通过调用如下方法对瓦片精灵进行删除: void removeTileAt(const Vec2& tileCoordinate); void removeChild(Node* child, bool cleanup) override; // 获取指定tile坐标的瓦片对应的OpenGL坐标位置 Vec2 getPositionAt(const Vec2& tileCoordinate); // 设置指定tile坐标的瓦片,将其图片变为GID的图块。 void setTileGID(uint32_t gid, const Vec2& tileCoordinate); // 获取指定tile坐标的瓦片所使用的图块的GID。 uint32_t getTileGIDAt(const Vec2& tileCoordinate); // 地图层的名字 std::string _layerName; // 地图层的尺寸,以瓦片数量为单位 Size _layerSize; // 地图层的瓦片的尺寸,以瓦片像素为单位 Size _mapTileSize;};
三、TMXObjectGroup类
TMXObjectGroup类用于管理tiled地图中特殊的地图层,即对象层,包括所有的对象及其所有的属性,而每一个对象的所有属性被存储为ValueMap键-值对映射,其主要方法、属性如下:
class CC_DLL TMXObjectGroup : public Ref{/** * 获取对象层的属性信息 **/ // 获取对象层的名称 void setGroupName(const std::string& groupName); // 可以重新设置对象层名称 std::string& getGroupName(); // 获取对象层的propertyName属性值 Value getProperty(const std::string& propertyName) const; // 获取对象层所有属性(键-值对) void setProperties(const ValueMap& properties); ValueMap& getProperties(); // 获取对象层指定的objectName对象,其所有属性被存储为ValueMap(键-值对) ValueMap getObject(const std::string& objectName) const; // 获取对象层的所有对象 void setObjects(const ValueVector& objects); ValueVector& getObjects();// 对象层的名称 std::string _groupName;// 所有的对象 ValueVector _objects;};
0 0
- COCOS-Tiled地图类
- COCOS-Tiled地图坐标
- COCOS-Tiled地图编辑器
- COCOS-Tiled地图遮挡
- AndEngine Tiled地图编辑器
- cocoa2d tiled 地图编辑器
- tiled 地图编辑器 快捷键
- libgdx 之 tiled地图
- 使用Tiled制作地图
- Tiled地图文件分析
- tiled地图加载错误
- Tiled Map(瓦片地图)
- Tiled Map Editor创建地图
- Tiled瓦片地图的使用
- Tiled地图编辑器使用注意事项
- 瓦片地图 cocos
- 基于cocos2d 的地图制作 Tiled.tmx
- 游戏地图编辑器Mappy,Tiled,TILE STUDIO
- ios-day15-04(Quartz 2D之屏幕截图、并将截图保存到文件中)
- getDatabase called recursively数据库递归使用错误---解决方法
- [LeetCode 28]Implement strStr()
- 《数据结构编程实验》 3.3.1Symmetric Order
- hostapd 与 wpa_supplicant详解
- COCOS-Tiled地图类
- null和undefined
- [Codeforces #296 div1]简要题解
- 运维自动化
- 了解mock
- <easyui>树格式数据的构造(Java拼接)
- xml解析之pull解析
- android 显示和隐藏输入法键盘用法介绍
- 深入理解Java对象序列化