void TitleLayer::pushed(Mf::Engine& engine)
{
- mEngine = &engine;
-
Mf::Scalar coeff[] = {0.0, 1.0};
mFadeIn.init(coeff, 0.1);
mGameLayer = GameLayer::alloc();
}
-void TitleLayer::update(Mf::Scalar t, Mf::Scalar dt)
+void TitleLayer::update(Mf::Engine& engine, Mf::Scalar t, Mf::Scalar dt)
{
if (!mFadeIn.isDone()) mFadeIn.update(t, dt);
}
-void TitleLayer::draw(Mf::Scalar alpha) const
+void TitleLayer::draw(Mf::Engine& engine, Mf::Scalar alpha) const
{
glClearColor(0.0, 0.0, mFadeIn.getState(alpha), 1.0);
glClear(GL_COLOR_BUFFER_BIT);
}
-bool TitleLayer::handleEvent(const Mf::Event& event)
+bool TitleLayer::handleEvent(Mf::Engine& engine, const Mf::Event& event)
{
switch (event.type)
{
case SDL_KEYUP:
- Mf::LayerP titleLayer = mEngine->pop(this);
- //mEngine->pushLayer(GameLayer::alloc());
+ //if (event.key.keysym.sym == SDLK_ESCAPE)
+ //{
+ //break;
+ //}
+
+ Mf::LayerP titleLayer = engine.pop(this);
+ //engine.pushLayer(GameLayer::alloc());
- Mf::Scalar coeff[] = {0.0, 1.0};
- Mf::Lerp interp(coeff, 0.2);
+ Mf::Scalar coeff[] = {0.0, 0.75, 0.99, 1.0};
+ Mf::PolynomialInterpolator<3> interp(coeff, 0.1);
//Mf::LayerP mGameLayer = GameLayer::alloc();
- Mf::Transition<Mf::Lerp>::Ptr transition =
- Mf::Transition<Mf::Lerp>::alloc(mGameLayer, titleLayer, interp);
- mEngine->push(transition);
+ Mf::Transition<Mf::PolynomialInterpolator<3> >::Ptr transition =
+ Mf::Transition<Mf::PolynomialInterpolator<3> >::alloc(mGameLayer, titleLayer, interp);
+ engine.push(transition);
return true;
}