Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public abstract class ManagedScreen implements Screen {
- private Game game;
- private boolean slowMotion;
- private float slowMotionFactor;
- public ManagedScreen(Game game) {
- this.game = game;
- slowMotion = false;
- slowMotionFactor = 1;
- }
- @Override
- public final void render(float secElapsed) {
- updateSlowMotionFactor(secElapsed);
- secElapsed *= slowMotionFactor;
- managedRender(secElapsed);
- }
- private void updateSlowMotionFactor(float secElapsed) {
- if (slowMotion) {
- slowMotionFactor = Math.max(game.getGameConf().getSlowMotionFactor(), slowMotionFactor-(secElapsed/game.getGameConf().getSlowMotionFadeInTime()));
- }
- else {
- slowMotionFactor = Math.min(1, slowMotionFactor+(secElapsed/game.getGameConf().getSlowMotionFadeOutTime()));
- }
- }
- public abstract void managedRender(float secElapsed);
- }
Advertisement
Add Comment
Please, Sign In to add comment