void Stage01::AddEnemy003(int startFrame) { auto engine = STGEngine::GetInstance(); if (frame == startFrame) { Ptr<Enemy01_003> enemy = Ptr<Enemy01_003>::New(); enemy->SetPosition(192, 500); Ptr<TweenSequence> sequence = Ptr<TweenSequence>::New(); sequence->AddTween(Ptr<MoveTo>::New(Vector3f(192, 320, enemy->GetPosition().z), 120, Tweener::SIMPLE).Get()); sequence->AddTween(Ptr<Delay>::New(500).Get()); sequence->AddTween(Ptr<MoveTo>::New(Vector3f(192, 500, enemy->GetPosition().z), 180, Tweener::SIMPLE).Get()); enemy->AddTween(sequence.Get()); engine->AddEnemy(enemy.Get()); } }
void Stage01::ShowLogo(int startFrame) { auto engine = STGEngine::GetInstance(); if (frame == startFrame) { Ptr<Sprite> logo = Ptr<Sprite>::New(); logo->SetTexture(this->texLogo); logo->SetPosition(Vector3f(192, 280, 10)); logo->SetAlpha(0.0f); Ptr<TweenSequence> sequence = Ptr<TweenSequence>::New(); sequence->AddTween(Ptr<FadeTo>::New(1.0f, 80, Tweener::SIMPLE).Get()); sequence->AddTween(Ptr<Delay>::New(240).Get()); sequence->AddTween(Ptr<FadeOut>::New(80, Tweener::SIMPLE).Get()); logo->AddTween(sequence.Get()); engine->AddObject(logo); } }
void Stage01::AddEnemy002(int startFrame) { auto engine = STGEngine::GetInstance(); int frame2 = frame - startFrame; const int interval = 30; if (frame2 < 80 && frame2 % 10 == 1) //frame == 1,11,21,...71 { int i = frame2 / 10; Ptr<Enemy01_002> enemy = Ptr<Enemy01_002>::New(); enemy->SetPosition(414, 420); Ptr<TweenSequence> sequence = Ptr<TweenSequence>::New(); sequence->AddTween(Ptr<MoveTo>::New(Vector3f(192 + interval * (i - 3.5), 280, enemy->GetPosition().z), 120, Tweener::EASE_OUT).Get()); sequence->AddTween(Ptr<Delay>::New(60).Get()); sequence->AddTween(Ptr<MoveTo>::New(Vector3f(-36, 140, enemy->GetPosition().z), 120, Tweener::EASE_IN).Get()); enemy->AddTween(sequence.Get()); engine->AddEnemy(enemy.Get()); } }