您的位置:首页 > 移动开发 > Cocos引擎

cocos2d-X 节点(CCTileMapAtlas.h)API

2013-11-07 18:34 447 查看
本文来自http://blog.csdn.net/runaying ,引用必须注明出处!

cocos2d-X 节点(CCTileMapAtlas.h)API

温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记

//cocos2d-x-3.0alpha0/cocos2dx/tilemap_parallax_nodes/

#ifndef __CCTILE_MAP_ATLAS__
#define __CCTILE_MAP_ATLAS__

#include "base_nodes/CCAtlasNode.h"

NS_CC_BEGIN

struct sImageTGA;
class Dictionary;

/**
* @addtogroup tilemap_parallax_nodes
* @{
*/

/** @brief TileMapAtlas 是 AtlasNode 的子类.

它知道如何根据瓷砖呈现地图。
瓷砖必须是PNG格式,而映射必须是一个TGA文件.

有关格式的更多信息,请参阅这篇文章:: http://www.cocos2d-iphone.org/archives/27 
AtlasNode 所有功能在 TileMapAtlas 里面都是有效的

IMPORTANT:
此类已废弃。它是之所以保持,仅仅是出于兼容性的考虑.
你不应该使用这个类.
Instead, use the newer TMX file format: TMXTiledMap
相反,使用较新的TMX文件格式 : TMXTiledMap
*/
class CC_DLL TileMapAtlas : public AtlasNode
{
public:
/** 使用 tile 文件(atlas)、一个地图文件、每个 tile 的宽度和高度(以点为单位)创建一个 TileMap
tile 文件将使用 TextureMgr 加载.
*/
static TileMapAtlas * create(const char *tile, const char *mapFile, int tileWidth, int tileHeight);
/**
* @js ctor
*/
TileMapAtlas();
/**
* @js NA
* @lua NA
*/
virtual ~TileMapAtlas();

/** 使用 tile 文件(atlas)、一个地图文件、每个 tile 的宽度和高度(以点为单位)初始化一个 TileMap.
tile 文件将使用 TextureMgr 加载.
*/
bool initWithTileFile(const char *tile, const char *mapFile, int tileWidth, int tileHeight);
/** returns a tile from position x,y.
目前只使用了 R 通道
*/
Color3B getTileAt(const Point& position) const;
CC_DEPRECATED_ATTRIBUTE Color3B tileAt(const Point& position) const { return getTileAt(position); };
/** sets a tile at position x,y.
目前只使用了 R 通道
*/
void setTile(const Color3B& tile, const Point& position);
/** dealloc the map from memory */
void releaseMap();

inline struct sImageTGA* getTGAInfo() const { return _TGAInfo; };
inline void setTGAInfo(struct sImageTGA* TGAInfo) { _TGAInfo = TGAInfo; };
private:
void loadTGAfile(const char *file);
void calculateItemsToRender();
void updateAtlasValueAt(const Point& pos, const Color3B& value, int index);
void updateAtlasValues();

protected:
//! x,y to atlas dictionary
Dictionary* _posToAtlasIndex;
//! 渲染的 tiles 号码
int _itemsToRender;
/** TileMap 信息 */
struct sImageTGA* _TGAInfo;
};

// end of tilemap_parallax_nodes group
/// @}

NS_CC_END

#endif //__CCTILE_MAP_ATLAS__
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: