标签:blog class code c ext color
效果图:
程序分析:
初始化GameLayer场景触摸,背景、音乐、UI及定时间器
bool GameLayer::init()
{
if (!CCLayer::init()) {
return false;
}
// 开启触摸
this->setTouchEnabled(true);
// 创建数组,需要retain一下
play_bullet = CCArray::create();
play_bullet->retain();
enemy_bullet = CCArray::create();
enemy_bullet->retain();
enemy_items = CCArray::create();
enemy_items->retain();
m_state = statePlaying;//游戏开始,状态为0
Enemy::sharedEnemy();//缓存敌军飞船
Effect::sharedExplosion();//爆炸动画缓存
Config::sharedConfig()->resetConfig();//初始化分数为0、命数3条
winSize = CCDirector::sharedDirector()->getWinSize();
m_levelManager = new LevelManager(this);
//初始化背景
initBackground();
m_screenRec = CCRectMake(0, 0, winSize.width, winSize.height + 10);
// 创建score
m_lbScore = CCLabelBMFont::create("Score:0", s_arial14_fnt);
m_lbScore->setAnchorPoint(ccp(1, 0));
m_lbScore->setAlignment(kCCTextAlignmentRight);//右对齐
addChild(m_lbScore, 1000);
m_lbScore->setPosition(winSize.width - 5, winSize.height - 30);
// ship life
CCTexture2D *shipTexture = CCTextureCache::sharedTextureCache()->addImage(s_ship01);
CCSprite *life = CCSprite::createWithTexture(shipTexture, CCRectMake(0, 0, 60, 38));
life->setScale(0.6);
life->setPosition(ccp(30,winSize.height-23));
addChild(life, 1, 5);
// 显示生命条数
char lifecount[2];
sprintf(lifecount, "%d",Config::sharedConfig()->getLifeCount());
m_lifeCount = CCLabelTTF::create(lifecount, "Arial", 20);
m_lifeCount->setPosition(ccp(60, winSize.height-20));
m_lifeCount->setColor(ccc3(255,0, 0));
addChild(m_lifeCount, 1000);
// 创建飞船
m_ship = Ship::create();
addChild(m_ship, m_ship->getZoder(), 1001);
//游戏暂停按钮
CCMenuItemImage *pause = CCMenuItemImage::create("pause.png", "pause.png", this, menu_selector(GameLayer::doPause));
pause->setAnchorPoint(ccp(1, 0));
pause->setPosition(ccp(winSize.width, 0));
CCMenu *menu = CCMenu::create(pause, NULL);
menu->setAnchorPoint(ccp(0, 0));
addChild(menu, 1, 10);
menu->setPosition(CCPointZero);
// 调 update函数
scheduleUpdate();
// 每秒调一次 scoreCounter函数
schedule(schedule_selector(GameLayer::scoreCounter), 1);
if (Config::sharedConfig()->getAudioState()) {//背景音乐
SimpleAudioEngine::sharedEngine()->playBackgroundMusic(s_bgMusic, true);
}
return true;
}
【雷电】源码分析(一)-- 进入游戏攻击,布布扣,bubuko.com
标签:blog class code c ext color
原文地址:http://blog.csdn.net/oyangyufu/article/details/25571063