TMX API

1. CCTMXTiledMap类

特点如下:

  • 每个TMXTiledMap都被当作一个精灵
  • 这些精灵需要时被创建而且仅当调用layer->tileAt(position)时才会被创建
  • 每个tile继承了精灵的特点,可以旋转/移动/缩放/着色/透明化
  • Tiles可以在运行时添加或删除
  • Tiles的z-order亦可在运行时修改
  • 每个tile的锚点是(0,0)
  • TMXTileMap的锚点是(0,0)
  • TMX layers可以当作子节点添加
  • TXM layers默认会设置一个别名
  • Tileset图片可以在使用TextureCache时加入
  • 每个tile都有一个唯一的tag
  • 每个tile都有一个唯一的z值.左上(top-left): z=1, 右下(bottom-right): z=max z
  • 每个对象组(object group)可以用作可变数组(MutaleArray)
  • 对象类包含的属性都存储在一个字典(dictionary)中
  • 属性可以赋值给地图(Map),层(Layer),对象属性(Object Group)以及对象(Object)

受限点:

  • 每个layer只支持一个tileset
  • 不支持嵌入式图片(Embedded images)
  • 只支持XML格式(不支持JSON格式)

技术描述: 每个layer被创建成TMXLayer(继承自SpriteBatchNode)。 如果layer是可视的,那么如果你有5个layer,则5个TMXLayer被创建. 如果不可视,则layer根本不会被创建。 在运行时,可通过如下获取layers(TMXLayer objects):

  • map->getChildByTag(tag_number); // 0=1st layer, 1=2nd layer, 2=3rd layer, etc...
  • map->getLayer(name_of_the_layer); //name_of_the_layer layer名

每个对象组被创建成一个继承自MutableArray的TMXObjectGroup 运行时,可通过如下获取该对象组:

  • map->getObjectGroup(name_of_the_object_group);//name_of_the_object_group 对象组名

每个object都是一个TMXObject

每个属性都通过key-value对存储在一个MutableDictionary里 运行时,可通过如下获取属性: map->getProperty(name_of_the_property);//name_of_the_property 属性名 layer->getProperty(name_of_the_property); objectGroup->getProperty(name_of_the_property); object->getProperty(name_of_the_property);

CCTMXTiledMap比较常用的成员函数:

 获得和设置地图的尺寸

const CCSize & getMapSize(void);

void setMapSize(const CCSize  &var)

获得和设置砖块的尺寸

const CCSize &  getileSize(void);

void setTileSize(cosnt CCSize &var);

获得和设置地图的方向

const int getMapOrientation();

void setMapOrientation(int var);

设置和获得对象数组

CCArray * getObjectGroups();

Void setObjectGroups(CCArray *var);

获得和设置地图地属性

void setProperties(CCDictionary *var);

CCDictionary * getProperties(void);

/* 初始化方法(常用)*/

  static CCTMXTiledMap* create(const char *tmxFile);

/** 通过名字获得地图中的层*/

    CCTMXLayer* layerNamed(const char *layerName);

/** TMXObjectGroup 对象组,获得一个名字下的对象组*/

    CCTMXObjectGroup* objectGroupNamed(const char *groupName);

/** 获得一个属性的值 */

    CCString *propertyNamed(const char *propertyName);

 /**获得地图中某个图块的所有对象(注意一个图块可能有多个对象)   */

   CCDictionary* propertiesForGID(int GID);

2.  CCTMXLayer类(地图图层类)

//获得和设置图层尺寸的大小

    virtual const CCSize & getLayerSize(void);

    virtual void setLayerSize(const CCSize &var);

 //获得和设置砖块尺寸

    virtual const CCSize & getMapTileSize(void);

    virtual void setMapTileSize(const CCSize &var);

//获得和设置砖块的属性

    virtual CCTMXTilesetInfo * getTileSet(void);

    virtual void setTileSet(CCTMXTilesetInfo *var);

//获得和设置图层属性字典

    virtual CCDictionary *getProperties(void);

    virtual void setProperties(CCDictionary *var);

//返回指定位置的砖块对象

    CCSprite *tileAt(const CCPoint &tileCoordinate);

//返回指定位置的砖块的对象的ID

    unsigned int tileGIDAt(const CCPoint &tileCoordinate);

//移除指定位置的砖块对象

    void removeTileAt(const CCPoint& tileCoordinate);

//获得和设置图层名字

    inline const char* getLayerName();

    inline void setLayerName(const char *layerName);

3. CCTMXObjectGroup类(地图物体层(对象层))

//获得物体层的属性字典

    virtual CCDictionary * getProperties(void);

//设置物体层的属性字典

    virtual void setProperties(CCDictionary *var);

//获得物体层中的物体对象

    virtual CCArray * getObjects(void);

//设置物体层中的物体对象

    virtual void setObjects(CCArray *var);

//返回物体层的名字

    inline const char* getGroupName();

//设置物体层的名字

    inline void setGroupName(const char *groupName);

//获得指定属性的数值

    CCString *propertyNamed(const char* propertyName);

//根据属性名字,返回属性字典

    CCDictionary* objectNamed(const char *objectName);

weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
python017基于Python贫困生资助管理系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值