.h文件,声明函数
#include "cocos2d.h" USING_NS_CC; class PopSprite : public Sprite{ public: //初始化游戏的数值,宽度,高度,X轴,Y轴 static PopSprite* createPopSprite(int numbers,int width,int height,float popSpriteX,float popSpriteY); virtual bool init(); CREATE_FUNC(PopSprite); //获取数字 int getNumber(); //设置数字 void setNumber(int num); //获取色块的坐标 Point getColorBGPoint(); //获取PopSprite的位置 int popX,popY; //获取X Y; int getPOPX(); int getPOPY(); //设置X Y; void setPOPX(int x); void setPOPY(int y); private: //显示的颜色 int number; void enemyInit(int numbers,int width,int height,float popSpriteX,float popSpriteY); //显示的背景 LayerColor* layerColorBG; };
.cpp文件,实现各函数
#include "PopSprite.h" PopSprite* PopSprite::createPopSprite(int numbers,int width,int height,float popSpriteX,float popSpriteY){ PopSprite* enemy = new PopSprite(); if(enemy && enemy->init()){ enemy->autorelease(); enemy->enemyInit(numbers,width,height,popSpriteX,popSpriteY); return enemy; } CC_SAFE_DELETE(enemy); return NULL; } bool PopSprite::init(){ if(!Sprite::init()){ return false; } return true; } void PopSprite::enemyInit(int numbers,int width,int height,float popSpriteX,float popSpriteY){ //设置初始化的值 number = numbers; popX = 0; popY = 0; //设置游戏每个PopSprite的背景颜色 layerColorBG = LayerColor::create(Color4B(200,190,180,255),width - 5,height - 5); layerColorBG->setPosition(Vec2(popSpriteX, popSpriteY)); this->addChild(layerColorBG); } Point PopSprite::getColorBGPoint(){ return layerColorBG->getPosition(); } int PopSprite::getNumber(){ return number; } void PopSprite::setNumber(int num){ number = num; //判断数字来调整颜色 if(number == -1){ layerColorBG->setColor(Color3B(200,190,180)); } if(number == 0){ layerColorBG->setColor(Color3B(250,230,40)); } if(number == 1){ layerColorBG->setColor(Color3B(40,180,250)); } if(number == 2){ layerColorBG->setColor(Color3B(130,220,110)); } if(number == 3){ layerColorBG->setColor(Color3B(250,80,130)); } if(number == 4){ layerColorBG->setColor(Color3B(180,50,250)); } } int PopSprite::getPOPX(){ return popX; } int PopSprite::getPOPY(){ return popY; } void PopSprite::setPOPX(int x){ popX = x; } void PopSprite::setPOPY(int y){ popY = y; }