在前一篇中已经创建了卡片类,现在来看看如何使用卡片类。首先在GameLayer.h中声明创建卡片的函数
//创建卡片 void createCardSprite(cocos2d::CCSize size);
cpp中实现创建卡片函数
void GameLayer::createCardSprite(cocos2d::CCSize size) { //获取卡片高宽
int unitSize = ScreenAdapter::GetCardHeight(size.height); //创建4*4个卡片并添加到当前层中
for (int i=0;i<4;i++) { for (int j=0;j<4;j++) { CardSprite* card = CardSprite::createCardSprite( 0, unitSize, unitSize, unitSize*i+100, unitSize*j+20); addChild(card); } } }
在GameLayer类的init方法中调用createCardSprite函数以便初始化游戏画面
bool GameLayer::init() { // // 1. super init first if ( !CCLayer::init() ) { return false; } //打开触屏功能 setTouchEnabled(true); //创建游戏背景 this->addChild(cocos2d::CCLayerColor::create( ScreenAdapter::GetGameBGColor() )); //创建卡片 CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); createCardSprite(visibleSize); return true; }
ScreenAdapter中新增的方法
int ScreenAdapter::GetCardHeight(float sHeight) { //根据分辨率大小要调整 return (sHeight-80)/4; } cocos2d::ccColor4B ScreenAdapter::GetGameBGColor() { return cocos2d::ccc4(180,170,160,255); }
最后运行一下看看效果