Как создать заставку андроида cocos2dx?
Это мой код, я не знаю, как создать заставку и как он будет отображаться на экране моего меню. Все .h должны быть подключены к BaseScreen, и BaseScreen будет подключен к слою cocos2d. пожалуйста, помогите мне в моих кодах. Единственное, что появляется в моем эмуляторе, это спрайт, который я кодирую в HelloWorldScreen.h
SplashScreen.h
ifndef __SPLASH_SCREEN_H__
define __SPLASH_SCREEN_H__
include "BaseScreen.h"
include "cocos2d.h"
class SplashScreen : BaseScreen
{
public:
void update ();
static cocos2d::CCSprite* splashScreen;
int time;
MenuScreen menuScreen;
};
endif
HelloWorldScene.cpp
include "HelloWorldScene.h"
include "SplashScreen.h"
include "cocos2d.h"
USING_NS_CC;
CCScene* HelloWorld::scene()
{
// 'scene' is an autorelease object
CCScene *scene = CCScene::create();
// 'layer' is an autorelease object
HelloWorld *layer = HelloWorld::create();
// add layer as a child to scene
scene->addChild(layer);
// return the scene
return scene;
}
// on "init" you need to initialize your instance
bool HelloWorld::init()
{
// 1. super init first
if ( !CCLayer::init() )
{
return false;
}
CCSize winSize = CCDirector::sharedDirector()->getWinSize();
CCSize size = CCDirector::sharedDirector()->getWinSize();
CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
// 2. add a menu item with "X" image, which is clicked to quit the program
// you may modify it.
// add a "close" icon to exit the progress. it's an autorelease object
CCMenuItemImage *pCloseItem = CCMenuItemImage::create(
"CloseNormal.png",
"CloseSelected.png",
this,
menu_selector(HelloWorld::menuCloseCallback));
pCloseItem->setPosition(ccp(origin.x + visibleSize.width - pCloseItem->getContentSize().width/2 ,
origin.y + pCloseItem->getContentSize().height/2));
// create menu, it's an autorelease object
CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
pMenu->setPosition(CCPointZero);
this->addChild(pMenu, 1);
// 3. add your codes below...
// create background image from png
CCSprite *splashScreen = CCSprite::create("company.png");
// position the background image at the center of window
splashScreen->setPosition(ccp(size.width / 2, size.height / 2));
// add background image at z-position = -1, bottom of all
this->addChild(splashScreen, -1);
// calculate the scaling factor to fill the window size
float bX = size.width / splashScreen->getContentSize().width;
float bY = size.height / splashScreen->getContentSize().height;
// set the scaling factor to the background image
splashScreen->setScaleX(bX);
splashScreen->setScaleY(bY);
return true;
}
//callfuncN_selector(MainScene::spriteMoveFinished)
//backcalls the function spriteMoveFinished()
void HelloWorld::spriteMoveFinished(CCNode* pSender)
{
CCSprite *sprite = (CCSprite *)pSender;
this->removeChild(sprite, true);
}
void HelloWorld::menuCloseCallback(CCObject* pSender)
{
CCDirector::sharedDirector()->end();
if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
exit(0);
endif
}
BaseScreen.h
ifndef __BASE_SCREEN_H__
define __BASE_SCREEN_H__
include "cocos2d.h"
class BaseScreen : public cocos2d::CCLayer
{
public:
// BaseScreen getParent ();
void loadNewScreen (BaseScreen newScreen);
void update ();
// BaseScreen *parentBaseScene;
};
endif