请把代码粘贴在这里
#include “WelcomeLayer.h”
#include “GameScene.h”
#include “GameOverLayer.h”
WelcomeLayer::WelcomeLayer(void)
{
}
WelcomeLayer::~WelcomeLayer(void)
{
}
bool WelcomeLayer::init()
{
bool bRet=false;
do
{
CC_BREAK_IF(!CCLayer::init());
//png加入全局cache中
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("ui/shoot_background.plist");
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("ui/shoot.plist");
CCSize winSize=CCDirector::sharedDirector()->getWinSize();
//加入background
CCSprite* background=CCSprite::createWithSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("background.png"));
background->setPosition(ccp(winSize.width/2,winSize.height/2));
this->addChild(background);
//加入copyright
CCSprite* copyright=CCSprite::createWithSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("shoot_copyright.png"));
copyright->setAnchorPoint(ccp(0.5,0));
copyright->setPosition(ccp(winSize.width/2,winSize.height/2));
this->addChild(copyright);
//加入loading
CCSprite* loading=CCSprite::createWithSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("game_loading1.png"));
loading->setPosition(ccp(winSize.width/2,winSize.height/2-40));
this->addChild(loading);
CCAnimation* animation=CCAnimation::create();
animation->setDelayPerUnit(0.2f);
animation->addSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("game_loading1.png"));
animation->addSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("game_loading2.png"));
animation->addSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("game_loading3.png"));
animation->addSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("game_loading4.png"));
CCAnimate* animate=CCAnimate::create(animation);
CCRepeat* repeat=CCRepeat::create(animate,2);
//CCCallFuncN* repeatdone=CCCallFuncN::create(this,callfuncN_selector(WelcomeLayer::loadingDone));
//CCSequence* sequence=CCSequence::create(repeat,repeatdone,NULL);
loading->runAction(CCRepeatForever::create(animate));;
//加入startItem
CCMenuItemImage* startItem = CCMenuItemImage::create("mainmenu_begin1.bng","mainmenu_begin2.png",this,menu_selector(WelcomeLayer::startButtonCallback));
CC_BREAK_IF(!startItem);
startItem->setPosition(ccp(winSize.width/2,winSize.height/2-60));
CCMenu* pMenu = CCMenu::create(startItem,NULL);
pMenu->setPosition(CCPointZero);
addChild(pMenu);
getHighestHistorySorce();
this->setKeypadEnabled(true);
bRet=true;
} while (0);
return bRet;
}
void WelcomeLayer::loadingDone(CCNode* pNode)
{
CCScene* pScene=GameScene::create();
CCTransitionMoveInB *animateScene=CCTransitionMoveInB::create(0.5f,pScene);
CCDirector::sharedDirector()->replaceScene(animateScene);
}
void WelcomeLayer::keyBackClicked()
{
CCDirector::sharedDirector()->end();
}
bool WelcomeLayer::isHaveSaveFile()
{
if(!CCUserDefault::sharedUserDefault()->getBoolForKey(“isHaveSaveFileXml”))
{
CCUserDefault::sharedUserDefault()->setBoolForKey(“isHaveSaveFileXml”, true);
CCUserDefault::sharedUserDefault()->setIntegerForKey(“HighestScore”,0);
CCUserDefault::sharedUserDefault()->flush();
return false;
}
else
{
return true;
}
}
void WelcomeLayer::getHighestHistorySorce()
{
if (isHaveSaveFile())
{
GameOverLayer::highestHistoryScore=CCUserDefault::sharedUserDefault()->getIntegerForKey(“HighestScore”,0);
}
}
void WelcomeLayer::startButtonCallback(CCObject* pSender)
{
CCScene* pScene=GameScene::create();
CCTransitionMoveInB *animateScene=CCTransitionMoveInB::create(0.5f,pScene);
CCDirector::sharedDirector()->replaceScene(animateScene);
}
为什么这样加不进startItem,那个.plist跟png都是亲自压缩的,别的信息都可以提取出来就开始的那个提取不出来。。。。
