继承关系

CCTMXLayer -> CCSpriteBatchNode

CCTMXLayer是在瓦片地图中,抽象一个层的类,它继承自CCSpriteBatchNode,也就是说它抽象了一批相同图片的精灵,在瓦片地图中,用层来抽象她们。

成员函数

CCSprite* tileAt(const CCPoint& tileCoordinate);

获取该坐标的精灵,这里的坐标是网格坐标

unsigned int  tileGIDAt(const CCPoint& tileCoordinate);

获取该网格坐标的GID

void setTileGID(unsigned int gid, const CCPoint& tileCoordinate);

void setTileGID(unsigned int gid, const CCPoint& tileCoordinate, ccTMXTileFlags flags);

设置该点的GID

void removeTileAt(const CCPoint& tileCoordinate);

删除tile

CCPoint positionAt(const CCPoint& tileCoordinate);

坐标转化

CCString *propertyNamed(const char *propertyName);

属性值

void setupTiles();

创建瓦片

virtual void addChild(CCNode * child, int zOrder, int tag);

这个接口在Layer里不支持,在这里重载是为了报错

void removeChild(CCNode* child, bool cleanup);

删除子对象

inline const char* getLayerName(){ return m_sLayerName.c_str(); }

inline void setLayerName(const char *layerName){ m_sLayerName = layerName; }

设置和获取Layer名字

总结

CCTMXLayer是CCSpriteBatchNode的派生类,所以也是一个批精灵。瓦片地图将其分成一层层的原因也是为了提高渲染的效率。

cocos2dx进阶学习之CCTMXLayer的更多相关文章

  1. cocos2dx进阶学习之CCTMXTiledMap

    继承关系 CCTMXTiledMap -> CCNode 它由CCNode派生,我们已经知道CCNode是cocos2dx的舞台对象的公共父类,所以CCTMXTiledMap也是个舞台对象 成员 ...

  2. cocos2dx进阶学习之场景切换

    背景 在学习马里奥时,我们学习到从菜单场景到游戏场景的切换,代码如下 void CMMenuScene::OnStartCallBack( CCObject *pSender ) { CCDirect ...

  3. cocos2dx进阶学习之CCScene

    继承关系 CCScene -> CCNode -> CCObject CCScene抽象了一个场景的概念,类似舞台的一幕 函数 static CCScene *create(void); ...

  4. cocos2dx进阶学习之屏幕适配

    背景 在学习cocos2dx时,我们在main函数中发现一句代码, #include "main.h" #include "AppDelegate.h" #in ...

  5. cocos2dx进阶学习之CCEGLView

    继承关系 CCEGLView-> CCEGLViewProtocol CCEGLView是窗口,在不同平台上有不同的实现,而CCEGLViewProtocol是CCEGLView定义的接口,所以 ...

  6. cocos2dx进阶学习之CCAction

    CCAction在cocos2dx中,抽象了节点的动作.它由CCObject派生,因此它不是渲染节点. 它经常的用法是,创建一个action,然后让某个CCNode对象(一般是精灵),去执行它. 在马 ...

  7. cocos2dx进阶学习之瓦片地图编辑器

    之前学习了瓦片地图类,现在我们来学习下瓦片地图制作工具 这个是开源的工具,可以从网上下载,下面我们演示下怎么做地图 步骤1 将需要用到的图片放到一个目录下,比如我机器上就是d:\tiled,这些图片是 ...

  8. cocos2dx进阶学习之CCSprite

    继承关系 CCSprite -> CCNodeRGBA       ->   CCNode, CCRGBAProtocol CCTextureProtocol 从继承关系可以看出,CCSp ...

  9. cocos2dx进阶学习之CCLayer

    继承关系 CCLayer -> CCNode,CCTouchDelegate,CCAccelerometerDelegate,CCKeypadDelegate CCLayer在cocos2dx中 ...

随机推荐

  1. AT&T汇编试讲--获取CPU Vendor ID

    纯汇编代码如下: # a test program to get the processor vendor id # data segment .section .data output: .asci ...

  2. POJ 1037 DP

    题目链接: http://poj.org/problem?id=1037 分析: 很有分量的一道DP题!!! (参考于:http://blog.csdn.net/sj13051180/article/ ...

  3. objective-C学习笔记(十)协议

    协议 Protocol 协议是类的合同约定,只描述外部接口,不提供具体实现.所以,协议其实可以写在类的.h文件中,不去实现就可以了. 协议可以包含以下成员: 属性 (编译器不会和普通interface ...

  4. JavaScriptCore.framework基本用法(二)

    接着上节我们讲到的iOS调用js 下来我们使用js调用iOS js调用iOS分两种情况 一,js里面直接调用方法 二,js里面通过对象调用方法 首先我们看第一种,直接调用方法. 其中用到了iOS的bl ...

  5. 设计一个有getMin功能的栈

    [说明]: 本文是左程云老师所著的<程序员面试代码指南>第一章中“设计一个有getMin功能的栈”这一题目的C++复现. 本文只包含问题描述.C++代码的实现以及简单的思路,不包含解析说明 ...

  6. IntelliJ IDEA 出现Unable to execute DX 问题

    最近从eclipse转移到IDEA上写代码的时候,无意间发现一个让我头疼不已的问题,message报错为 Error:Android Dex: [**] Unable to execute DX Er ...

  7. Bootstrap第一天

    1.代码引入: 第一步:在html5文档 <meta name="viewport" content="width=device-width, initial-sc ...

  8. PHP PDO select语句结果行数计算

    PDO有一个函数PDOStatement::rowCount返回上一个SQL语句影响的行数. rowCount函数对于DELETE, INSERT, 或者UPDATE语句的结果是正确的,但对于sele ...

  9. PGA_AGGREGATE_TARGET 原理

    PGA_AGGREGATE_TARGET参数的理解 PGA结构图:                                   在Oracle9i之前,PGA的计算和控制都是比较复杂的事情,从 ...

  10. 设置MAVEN_OPTS的推荐方法

    运行mvn eclipse:eclipse时,经常会出现因为maven项目过大,导致内存不足java栈溢出的error,需要更改MAVEN启动内存 http://stackoverflow.com/q ...