}
void
-BouncyDistro::action()
+BouncyDistro::action(double frame_ratio)
{
base.y = base.y + base.ym * frame_ratio;
base.ym += 0.1 * frame_ratio;
if (base.ym >= 0)
- world.bouncy_distros.erase(static_cast<std::vector<BouncyDistro>::iterator>(this));
+ World::current()->bouncy_distros.erase(static_cast<std::vector<BouncyDistro>::iterator>(this));
}
void
base.xm = xm;
base.ym = ym;
- timer_init(&timer, true);
- timer_start(&timer,200);
+ timer.init(true);
+ timer.start(200);
}
void
-BrokenBrick::action()
+BrokenBrick::action(double frame_ratio)
{
base.x = base.x + base.xm * frame_ratio;
base.y = base.y + base.ym * frame_ratio;
- if (!timer_check(&timer))
- world.broken_bricks.erase(static_cast<std::vector<BrokenBrick>::iterator>(this));
+ if (!timer.check())
+ World::current()->broken_bricks.erase(static_cast<std::vector<BrokenBrick>::iterator>(this));
}
void
}
void
-BouncyBrick::action()
+BouncyBrick::action(double frame_ratio)
{
- offset = (offset +
- offset_m * frame_ratio);
+ offset = (offset + offset_m * frame_ratio);
/* Go back down? */
if (offset < -BOUNCY_BRICK_MAX_OFFSET)
/* Stop bouncing? */
if (offset >= 0)
- world.bouncy_bricks.erase(static_cast<std::vector<BouncyBrick>::iterator>(this));
+ World::current()->bouncy_bricks.erase(static_cast<std::vector<BouncyBrick>::iterator>(this));
}
void
{
base.x = x;
base.y = y - 16;
- timer_init(&timer,true);
- timer_start(&timer,1000);
+ timer.init(true);
+ timer.start(1000);
value = s;
}
void
-FloatingScore::action()
+FloatingScore::action(double frame_ratio)
{
base.y = base.y - 2 * frame_ratio;
- if(!timer_check(&timer))
- world.floating_scores.erase(static_cast<std::vector<FloatingScore>::iterator>(this));
+ if(!timer.check())
+ World::current()->floating_scores.erase(static_cast<std::vector<FloatingScore>::iterator>(this));
}
void