﻿/* Start in "SplashScene.h" */
// SNIPPET 1-0
private:
	void goToMainMenuScene(float df);
};

/* Go to "SplashScene.cpp" */
//SNIPPET 1-1
this->scheduleOnce(schedule_selector(SplashScene::goToMainMenuScene), DISPLAY_TIME_SPLASH_SCENE);
//das hier wird einmal ausgeführt, für die angebene konstante Zeit wird die Szene angezeigt

/* Switch to "Definition.h" */
//SNIPPET 1-2
#define DISPLAY_TIME_SPLASH_SCENE 2
#define TRANSITION_TIME 0.5

/* Back to "SplashScene.cpp" */
//SNIPPET 1-3
#include "Definitions.h"
#include "MainMenuScene.h"

//SNIPPET 1-4
void SplashScene::goToMainMenuScene(float dt)
{
	auto scene = MainMenuScene::createScene();

	Director::getInstance()->replaceScene(TransitionFade::create(TRANSITION_TIME, scene));
}

//SNIPPET 1-5
auto background = Sprite::create("splash.png");
background->setPosition(Point(visibleSize.width / 2 + origin.x, visibleSize.height / 2 + origin.y));

this->addChild(background);

return true;

/* Go to MainMenuScene.cpp */
//SNIPPET 2-0
auto playButton = MenuItemImage::create("play.png", "play_clicked.png", CC_CALLBACK_1(MainMenuScene::goToGameScene, this));
playButton->setPosition(Point(visibleSize.width / 2 + origin.x, visibleSize.height / 2 + origin.y));

auto menu = Menu::create(playButton, NULL);
menu->setPosition(Point::ZERO);

this->addChild(menu);

/* Go to GameScene.cpp */
//Snippet 3-0
auto sprite = Sprite::create("play.png");
sprite->setPosition(Point(visibleSize.width / 2 + origin.x, visibleSize.height / 2 + origin.y));

this->addChild(sprite);

//Snippet 3-1
auto moveBy = MoveBy::create(2, Vec2(300, 0));
auto moveTo = MoveTo::create(2, Vec2(300, 500));
auto rotateTo = RotateTo::create(2.0f, 45.0f);

//Comment out next two lines when inserting Snippet 3-2
sprite->runAction(moveBy);
sprite->runAction(rotateTo);

//schonmal ausführen, dann die zwei ZEilen auskommentieren
//wenn Zeit: ausprobieren lassen!!

//Snippet 3-2
auto spawn = Spawn::createWithTwoActions(moveTo, rotateTo);
auto delay = DelayTime::create(1);
auto seq1 = Sequence::create(moveBy, delay, spawn, nullptr);

//Comment out next line when inserting Snippet 3-3
sprite->runAction(seq1);

//Snippet 3-3
auto move_ease_in = EaseBounceIn::create(moveBy->clone());
auto seq2 = Sequence::create(move_ease_in, delay, spawn, nullptr);
auto spawn2 = Spawn::createWithTwoActions(seq1, seq2);
sprite->runAction(RepeatForever::create(spawn2));
