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

来源:互联网 发布:macbookpro办公软件 编辑:程序博客网 时间:2024/05/26 02:20
给自己的假期就快要结束了,该要做点事情了,哪怕简单的不好的也比不做的有意义。
/*#pragma once 保证头文件只被编译一次#pragma once是编译器相关的,就是说即使这个编译系统上有效,但在其他编译系统也不一定可以,不过现在基本上已经是每个编译器都有这个杂注了。#ifndef,#define,#endif是C/C++语言中的宏定义,通过宏定义避免文件多次编译。所以在所有支持C++语言的编译器上都是有效的,如果写的程序要跨平台,最好使用这种方式。*/
#ifndef MY_SPRITE_H#define MY_SPRITE_H#include "common.h"//等量切割帧-精灵类class CMySprite{//资源名字std::stringm_pszResourceName;//图片资源cocos2d::CCSprite*m_pccsprite;//当前帧unsigned charm_byCurrentFrame;//总帧数unsigned charm_byFrames;//当前列unsigned charm_byCurCol;//当前行unsigned charm_byCurRow;//帧总列unsigned charm_byCol;//帧总行unsigned charm_byRow;//帧宽unsigned intm_uiframeWidth;//帧高unsigned intm_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

原创粉丝点击