28#include "../testResource.h"
32#define TRANSITION_DURATION (1.2f)
37 static TransitionScene*
create(
float t, Scene* s)
39 return TransitionFade::create(t, s, Color3B::WHITE);
46 static TransitionScene*
create(
float t, Scene* s)
48 return TransitionFlipX::create(t, s, TransitionScene::Orientation::LEFT_OVER);
55 static TransitionScene*
create(
float t, Scene* s)
57 return TransitionFlipX::create(t, s, TransitionScene::Orientation::RIGHT_OVER);
64 static TransitionScene*
create(
float t, Scene* s)
66 return TransitionFlipY::create(t, s, TransitionScene::Orientation::UP_OVER);
73 static TransitionScene*
create(
float t, Scene* s)
75 return TransitionFlipY::create(t, s, TransitionScene::Orientation::DOWN_OVER);
82 static TransitionScene*
create(
float t, Scene* s)
84 return TransitionFlipAngular::create(t, s, TransitionScene::Orientation::LEFT_OVER);
91 static TransitionScene*
create(
float t, Scene* s)
93 return TransitionFlipAngular::create(t, s, TransitionScene::Orientation::RIGHT_OVER);
100 static TransitionScene*
create(
float t, Scene* s)
102 return TransitionZoomFlipX::create(t, s, TransitionScene::Orientation::LEFT_OVER);
109 static TransitionScene*
create(
float t, Scene* s)
111 return TransitionZoomFlipX::create(t, s, TransitionScene::Orientation::RIGHT_OVER);
118 static TransitionScene*
create(
float t, Scene* s)
120 return TransitionZoomFlipY::create(t, s, TransitionScene::Orientation::UP_OVER);
128 static TransitionScene*
create(
float t, Scene* s)
130 return TransitionZoomFlipY::create(t, s, TransitionScene::Orientation::DOWN_OVER);
137 static TransitionScene*
create(
float t, Scene* s)
139 return TransitionZoomFlipAngular::create(t, s, TransitionScene::Orientation::LEFT_OVER);
146 static TransitionScene*
create(
float t, Scene* s)
148 return TransitionZoomFlipAngular::create(t, s, TransitionScene::Orientation::RIGHT_OVER);
155 static TransitionScene*
create(
float t, Scene* s)
157 return TransitionPageTurn::create(t, s,
false);
164 static TransitionScene*
create(
float t, Scene* s)
166 return TransitionPageTurn::create(t, s,
true);
170#define STRINGIFY(x) #x
172#define TRANS(__className__) { \
173 [](float t, Scene* s){ return __className__::create(t,s);}, \
174 STRINGIFY(__className__), \
177 std::function<TransitionScene*(
float t, Scene* s)>
function;
180 TRANS(TransitionJumpZoom),
181 TRANS(TransitionProgressRadialCCW),
182 TRANS(TransitionProgressRadialCW),
183 TRANS(TransitionProgressHorizontal),
184 TRANS(TransitionProgressVertical),
185 TRANS(TransitionProgressInOut),
186 TRANS(TransitionProgressOutIn),
188 TRANS(TransitionCrossFade),
192 TRANS(TransitionFadeTR),
193 TRANS(TransitionFadeBL),
194 TRANS(TransitionFadeUp),
195 TRANS(TransitionFadeDown),
197 TRANS(TransitionTurnOffTiles),
199 TRANS(TransitionSplitRows),
200 TRANS(TransitionSplitCols),
202 TRANS(TransitionFade),
219 TRANS(TransitionShrinkGrow),
220 TRANS(TransitionRotoZoom),
222 TRANS(TransitionMoveInL),
223 TRANS(TransitionMoveInR),
224 TRANS(TransitionMoveInT),
225 TRANS(TransitionMoveInB),
227 TRANS(TransitionSlideInL),
228 TRANS(TransitionSlideInR),
229 TRANS(TransitionSlideInT),
230 TRANS(TransitionSlideInB),
233TransitionsTests::TransitionsTests()
239 addTestCase(test.name, [sceneIndex](){
240 auto scene = TransitionsTest::create();
242 Director::getInstance()->getRenderer()->setDepthTest(false);
246 scene->addChild(TestLayer2::create(transitions[sceneIndex].name));
250 scene->addChild(TestLayer1::create(transitions[sceneIndex].name));
262 auto layer =
new (std::nothrow)
TestLayer1(transitionName);
263 if (layer && layer->init())
265 layer->autorelease();
280 auto size = Director::getInstance()->getWinSize();
284 auto bg1 = Sprite::create(
s_back1);
285 bg1->setPosition( Vec2(size.width/2, size.height/2) );
288 auto title = Label::createWithTTF(transitionName,
"fonts/Thonburi.ttf", 32);
290 title->setColor( Color3B(255,32,32) );
291 title->setPosition( Vec2(x/2, y-100) );
293 auto label = Label::createWithTTF(
"SCENE 1",
"fonts/Marker Felt.ttf", 38);
294 label->setColor( Color3B(16,16,255));
295 label->setPosition( Vec2(x/2,y/2));
314 log(
"Scene 1 onEnter");
319 Layer::onEnterTransitionDidFinish();
320 log(
"Scene 1: onEnterTransitionDidFinish");
325 Layer::onExitTransitionDidStart();
326 log(
"Scene 1: onExitTransitionDidStart");
332 Director::getInstance()->getRenderer()->setDepthTest(
false);
333 log(
"Scene 1 onExit");
338 auto layer =
new (std::nothrow)
TestLayer2(transitionName);
339 if (layer && layer->init())
341 layer->autorelease();
356 auto size = Director::getInstance()->getWinSize();
360 auto bg1 = Sprite::create(
s_back2);
361 bg1->setPosition( Vec2(size.width/2, size.height/2) );
364 auto title = Label::createWithTTF(transitionName,
"fonts/Thonburi.ttf", 32);
366 title->setColor( Color3B(255,32,32) );
367 title->setPosition( Vec2(x/2, y-100) );
369 auto label = Label::createWithTTF(
"SCENE 2",
"fonts/Marker Felt.ttf", 38);
370 label->setColor( Color3B(16,16,255));
371 label->setPosition( Vec2(x/2,y/2));
390 log(
"Scene 2 onEnter");
395 Layer::onEnterTransitionDidFinish();
396 log(
"Scene 2: onEnterTransitionDidFinish");
401 Layer::onExitTransitionDidStart();
402 log(
"Scene 2: onExitTransitionDidStart");
408 Director::getInstance()->getRenderer()->setDepthTest(
false);
409 log(
"Scene 2 onExit");
#define TRANSITION_DURATION
#define TRANS(__className__)
struct _transitions transitions[]
static TransitionScene * create(float t, Scene *s)
static TransitionScene * create(float t, Scene *s)
static TransitionScene * create(float t, Scene *s)
static TransitionScene * create(float t, Scene *s)
static TransitionScene * create(float t, Scene *s)
static TransitionScene * create(float t, Scene *s)
static TransitionScene * create(float t, Scene *s)
static TransitionScene * create(float t, Scene *s)
static TransitionScene * create(float t, Scene *s)
static TestLayer1 * create(const std::string &transitionName)
virtual void onExitTransitionDidStart() override
virtual void onExit() override
virtual void onEnter() override
virtual void onEnterTransitionDidFinish() override
TestLayer1(const std::string &transitionName)
virtual void onExit() override
virtual void onExitTransitionDidStart() override
virtual void onEnter() override
static TestLayer2 * create(const std::string &transitionName)
virtual void onEnterTransitionDidFinish() override
TestLayer2(const std::string &transitionName)
static TransitionScene * create(float t, Scene *s)
static TransitionScene * create(float t, Scene *s)
static TransitionScene * create(float t, Scene *s)
static TransitionScene * create(float t, Scene *s)
static TransitionScene * create(float t, Scene *s)
static TransitionScene * create(float t, Scene *s)
std::function< TransitionScene *(float t, Scene *s)> function
static const char s_back1[]
static const char s_back2[]