Cocos2dx项目启程一 之 封装属于我的精灵类

给自己的假期就快要结束了,该要做点事情了,哪怕简单的不好的也比不做的有意义。
/*#pragma once 保证头文件只被编译一次

#pragma once是编译器相关的,就是说即使这个编译系统上有效,

但在其他编译系统也不一定可以,不过现在基本上已经是每个编译器都有这个杂注了。



#ifndef,#define,#endif是C/C++语言中的宏定义,通过宏定义避免文件多次编译。

所以在所有支持C++语言的编译器上都是有效的,如果写的程序要跨平台,最好使用这种方式。*/
#ifndef MY_SPRITE_H

#define MY_SPRITE_H



#include "common.h"



//等量切割帧-精灵类

class CMySprite

{

	//资源名字

	std::string		m_pszResourceName;	

	//图片资源

	cocos2d::CCSprite*	m_pccsprite;			

	//当前帧

	unsigned char		m_byCurrentFrame;	

	//总帧数

	unsigned char		m_byFrames;			

	//当前列

	unsigned char		m_byCurCol;			

	//当前行

	unsigned char		m_byCurRow;			

	//帧总列

	unsigned char		m_byCol;			

	//帧总行

	unsigned char		m_byRow;			

	//帧宽

	unsigned int		m_uiframeWidth;		

	//帧高

	unsigned int		m_uiframeHeight;	



public:

	CMySprite(void);

	~CMySprite(void);



	//资源接口

public:

	//载入资源

	bool LoadImage(const char* pszResourceName,unsigned char col = 1,unsigned char row = 1);



	bool createWithSpriteFrameName(const char* pszResourceName);

	//获取资源数据

	cocos2d::CCSprite* GetRenderData();



	//资源是空判断

	bool IsNull();



	//销毁资源

	void DestroyImage();



	//功能接口

public:

	//切换下帧

	void NextFrame();

	//设置帧

	void SetFrame(unsigned char byFrame);

	//获取当前帧

	unsigned char GetFrame();

	//获取当前所有帧数

	unsigned char GetFrames();

	//切换至Row行

	void SetCurRow(unsigned char Row);

	//获取当前行

	unsigned char GetCurRow();

	//切换至col列

	void SetCurCol(unsigned char col);

	//获取当前列

	unsigned char GetCurCol();

	//获取单帧宽

	unsigned int GetFrameWidth();

	//获取单帧高

	unsigned int GetFrameHeight();

	//设置坐标

	void SetPosition(float x,float y);

	//获取坐标

	cocos2d::CCPoint GetPosition();

	//获取X坐标

	float GetX();

	//获取Y坐标

	float GetY();

	//设置矩形

	void SetBox(CCRect crt);

	//获取矩形

	CCRect GetBox();



private:

	//设置切割矩形

	void ResetTextureRect();



};



#endif


你可能感兴趣的:(cocos2dx)