场景 A
#ifndef __CocoStudioAllKeyPoint__OneScene__
#define __CocoStudioAllKeyPoint__OneScene__
#include <iostream>
#include "cocos2d.h"
using namespace cocos2d;
class OneScene:public Scene{
protected:
virtual bool init();
public:
CREATE_FUNC(OneScene);
void onMenuItemImage(Ref * sender);
};
#endif /* defined(__CocoStudioAllKeyPoint__OneScene__) */
#include "OneScene.h"
#include "TwoScene.h"
bool OneScene::init(){
if (!Scene::init()) {
return false;
}
//创建一个精灵
auto sprite = Sprite::create("白龙.png");
sprite->setPosition(Vec2(480,320));
sprite->setScale(2.0, 2.0);// x,y 各扩大成原来的二倍
//创建一个图片按钮
auto image = MenuItemImage::create("CloseNormal.png","CloseSelected.png",CC_CALLBACK_1(OneScene::onMenuItemImage, this));
image->setPosition(Vec2(100,600));
//创建一个菜单
Menu * menu = Menu::create(image,NULL);
menu->setPosition(Vec2(0,0));
//创建一个层
auto layer = Layer::create();
layer->addChild(sprite);
layer->addChild(menu);
this->addChild(layer);
return true;
}
void OneScene::onMenuItemImage(Ref * sender){
auto scene = TwoScene::create();
auto goodScene = TransitionFade::create(2, scene, Color3B(0,255,0));//第三个参数颜色:是场景转换过程中的颜色
Director::getInstance()->replaceScene(goodScene);
}
场景 B
#ifndef __CocoStudioAllKeyPoint__TwoScene__
#define __CocoStudioAllKeyPoint__TwoScene__
#include <iostream>
#include "cocos2d.h"
using namespace cocos2d;
class TwoScene:public Scene{
protected:
virtual bool init();
public:
CREATE_FUNC(TwoScene);
void onMenuItemImage(Ref * sender);
};
#endif /* defined(__CocoStudioAllKeyPoint__TwoScene__) */
#include "TwoScene.h"
#include "OneScene.h"
bool TwoScene::init(){
if (!Scene::init()) {
return false;
}
//创建一个精灵
auto sprite = Sprite::create("红龙.png");
sprite->setPosition(Vec2(480,320));
sprite->setScale(2.0, 2.0);// x,y 各扩大成原来的二倍
//创建一个图片按钮
auto image = MenuItemImage::create("CloseNormal.png","CloseSelected.png",CC_CALLBACK_1(TwoScene::onMenuItemImage, this));
image->setPosition(Vec2(100,600));
//创建一个菜单
Menu * menu = Menu::create(image,NULL);
menu->setPosition(Vec2(0,0));
//创建一个层
auto layer = Layer::create();
layer->addChild(sprite);
layer->addChild(menu);
this->addChild(layer);
return true;
}
void TwoScene::onMenuItemImage(Ref * sender){
auto scene = OneScene::create();
auto goodScene = TransitionFade::create(2, scene, Color3B(0,255,0));//场景转换动画
Director::getInstance()->replaceScene(goodScene);
}