这是我的代码,我不知道如何创建启动画面,以及它如何在我的菜单画面中直接显示。所有.h必须连接到BaseScreen,并且BaseScreen将是连接在cocos2d图层中的一个。请在我的代码中帮助我。不要出现在我的模拟器唯一的事情是精灵,我的代码在HelloWorldScreen.h如何创建android cocos2dx启动画面?
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
你正在为iOS或Android开发? –
我正在开发一款适用于cocos2dx的安卓游戏 – Dana