Example usage for com.badlogic.gdx.math Interpolation bounceOut

List of usage examples for com.badlogic.gdx.math Interpolation bounceOut

Introduction

In this page you can find the example usage for com.badlogic.gdx.math Interpolation bounceOut.

Prototype

Interpolation bounceOut

To view the source code for com.badlogic.gdx.math Interpolation bounceOut.

Click Source Link

Usage

From source file:ateamproject.kezuino.com.github.render.screens.GameScreen.java

public void showPauseMenu() {
    pauseMenu.show(stage);/*from   w w w . ja v a  2  s. c  o m*/
    pauseMenu.setPosition(stage.getWidth() / 2 - pauseMenu.getWidth() / 2,
            stage.getHeight() + pauseMenu.getHeight());

    MoveToAction action = Actions.action(MoveToAction.class);
    action.setPosition(stage.getWidth() / 2 - pauseMenu.getWidth() / 2,
            stage.getHeight() / 2 - pauseMenu.getHeight() / 2);
    action.setDuration(0.3f);
    action.setInterpolation(Interpolation.bounceOut);
    pauseMenu.addAction(action);

    getSession().showPauseMenu();
}

From source file:com.agateau.pixelwheels.racer.GroundCollisionHandlerComponent.java

License:Open Source License

private void actDropping(float delta) {
    mTime += delta;//from  w w w  .  ja va 2  s .  c om
    mVehicle.setZ(Interpolation.bounceOut.apply(1, 0, mTime / LIFTING_DELAY));
    if (mTime >= LIFTING_DELAY) {
        mTime = LIFTING_DELAY;
        mHelicopter.leave();
        mVehicle.setZ(0);
        mVehicle.setStopped(false);
        mState = State.NORMAL;
    }
}

From source file:com.jumpbuttonstudios.vikingdodge.ui.popup.GameOverPopup.java

License:Apache License

@Override
public void registerListeners() {
    final GameScreenLayout gs = (GameScreenLayout) parent;
    playagain.addListener(new ActorGestureListener() {

        @Override//from  w w w  . j  a  va  2s  . co m
        public void tap(InputEvent event, float x, float y, int count, int button) {
            moveOut(1, false, Interpolation.exp10);
            gs.getOverlay().addAction(Actions.sequence(Actions.moveTo(0, 0, 1, Interpolation.bounceOut),
                    Actions.run(new Runnable() {
                        @Override
                        public void run() {
                            vikingDodge.setScreen(new GameScreen(vikingDodge));
                        }
                    }), Actions.moveTo(0, gs.getOverlay().getHeight(), 1, Interpolation.exp10)));
        }

    });

    mainmenu.addListener(new ClickListener() {

        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            VikingDodge.adListener.requestAd(AdListener.BOTTOM);
            fadeOverlay();
            moveOut(1, false);
            parent.notify(null, Event.CHANGED_TO_MENU);
            gs.returnToMenu();
            return false;
        }

    });
    ;

    highscores.addListener(new ActorGestureListener() {

        @Override
        public void tap(InputEvent event, float x, float y, int count, int button) {
            HighscoresPopup hsp = new HighscoresPopup(vikingDodge, parent);
            hsp.moveIn(1, Interpolation.elastic);
            gs.addActor(hsp);
        }

    });
}

From source file:com.tumblr.oddlydrawn.nahlc.screens.GameOverScreen.java

License:Apache License

public GameOverScreen(Game g, int level, int score) {
    game = g;//from   ww w.  j  a  va 2 s .c  o m
    savedStuff = new SavedStuff();
    assets = new Assets();
    assets.initGameOver();
    stage = new Stage(new StretchViewport(Renderer.WIDTH, Renderer.HEIGHT));
    skin = new Skin();

    savedStuff.loadScores();
    savedStuff.setScore(score);

    skin.add("default", new BitmapFont(Gdx.files.internal("data/fonts/deja.fnt")));

    LabelStyle labelStyle = new LabelStyle();
    labelStyle.font = skin.getFont("default");
    skin.add("default", labelStyle);

    ButtonStyle buttonStyle = new ButtonStyle();
    skin.add("default", buttonStyle);

    TextButtonStyle textButtonStyle = new TextButtonStyle();
    textButtonStyle.font = skin.getFont("default");
    skin.add("default", textButtonStyle);

    // Background NinePatch image
    Image boxPatchImage = new Image(assets.getBoxPatch());
    boxPatchImage.setSize(Renderer.WIDTH - 40, Renderer.HEIGHT - 5);
    boxPatchImage.setPosition(20, 2);
    stage.addActor(boxPatchImage);

    // Top Score's background NinePatch image
    Image boxPatchImageTwo = new Image(assets.getBoxPatch());
    boxPatchImageTwo.setSize(220, 295);
    boxPatchImageTwo.setPosition(50, 90);
    stage.addActor(boxPatchImageTwo);

    // Single-column table that holds all the things.
    rootTable = new Table();
    rootTable.setFillParent(true);
    stage.addActor(rootTable);
    rootTable.debug();

    // Three-column table that holds the top scores.
    topScoreTable = new Table();
    topScoreTable.debug();
    topScoreTable.columnDefaults(0).width(73);
    topScoreTable.columnDefaults(1).width(50);
    topScoreTable.columnDefaults(1).align(Align.center);

    Label scoreLabel = new Label("Score: " + score, skin);
    Label topScoresLabel = new Label("Top Scores", skin);

    Image mainMenuImage = new Image(assets.getMainMenuSprite());
    Image newGameImage = new Image(assets.getNewGameSprite());

    Button mainMenuButton = new Button(skin);
    mainMenuButton.add(mainMenuImage);

    Button newGameButton = new Button(skin);
    newGameButton.add(newGameImage);

    Image newRecordImage = new Image(assets.getNewRecordSprite());
    Image gameOverImage = new Image(assets.getGameOverSprite());

    Image titleImage;
    if (savedStuff.isPreviousScoreInTopScore()) {
        titleImage = newRecordImage;
    } else {
        titleImage = gameOverImage;
    }

    Label[][] allTheScores = new Label[3][11];

    // Creates the labels for all the scores, populates them, and adds animations.
    for (int y = 0; y < 10; y++) {
        for (int x = 0; x < 3; x++) {
            switch (x) {
            case 0: // The labels from 1 - 10, left most to show score rank.
                if (y == 9) {
                    allTheScores[x][y] = new Label(String.valueOf(y + 1) + ".", skin);
                } else {
                    // Adds a space, for correct padding to numbers 1-9 (or the array indexes 0-8)
                    allTheScores[x][y] = new Label(" " + String.valueOf(y + 1) + ".", skin);
                }
                topScoreTable.add(allTheScores[x][y]);
                break;
            case 1: // The labels with the Level associated with each score
                allTheScores[x][y] = new Label(savedStuff.getLevel(y, x - 1), skin);
                topScoreTable.add(allTheScores[x][y]);

                if (savedStuff.isPreviousScoreInTopScore()) {
                    // Adds the drop animation to scores below the score to replace
                    if (y >= savedStuff.getScoreToReplace()) {
                        allTheScores[x][y].addAction(Actions.sequence(Actions.delay(2f), Actions.delay(0.5f),
                                Actions.moveBy(0, -26, 2, Interpolation.bounceOut)));
                    }
                }
                break;
            case 2: // The labels with the Score associated with each rank and level
                allTheScores[x][y] = new Label(savedStuff.getScore(y, x - 1), skin);
                topScoreTable.add(allTheScores[x][y]).right();

                if (savedStuff.isPreviousScoreInTopScore()) {
                    // Adds the drop animation to scores below the score to replace
                    if (y >= savedStuff.getScoreToReplace()) {
                        allTheScores[x][y].addAction(Actions.sequence(Actions.delay(2f), Actions.delay(0.5f),
                                Actions.moveBy(0, -26, 2, Interpolation.bounceOut)));
                    }
                }
                break;
            default:
                break;
            }
        }
        topScoreTable.row();
    }

    rootTable.add(titleImage);
    rootTable.row();

    rootTable.add(scoreLabel).expand();
    rootTable.row();

    rootTable.add(topScoresLabel);
    rootTable.row();
    topScoreTable.setWidth(rootTable.getWidth());
    topScoreTable.setTransform(true);
    rootTable.setTransform(true);
    rootTable.add(topScoreTable);
    rootTable.row();

    rootTable.add(newGameButton).expand().bottom();
    rootTable.row();
    rootTable.add(mainMenuButton).expand();

    rootTable.padLeft(35f);
    rootTable.padRight(35f);
    rootTable.padTop(9f);
    rootTable.padBottom(9f);

    newGameButton.toBack();
    mainMenuButton.toBack();

    // Adds padding to Level and 10th rank strings for correct padding
    String levelButtonString;
    int mew = Integer.valueOf(String.valueOf(allTheScores[1][9].getText()));
    if (mew < 10) {
        levelButtonString = String.valueOf(allTheScores[1][9].getText()) + " ";
    } else {
        levelButtonString = String.valueOf(allTheScores[1][9].getText());
    }
    String previousLevelButtonString;
    if (level < 10) {
        previousLevelButtonString = String.valueOf(level + " ");
    } else {
        previousLevelButtonString = String.valueOf(level);
    }
    String previousScoreString = String.valueOf(score);

    TextButton previousLevelButton = new TextButton(previousLevelButtonString, skin);
    TextButton previousScoreButton = new TextButton(previousScoreString, skin);
    TextButton tenthLevelButton = new TextButton(levelButtonString, skin);
    TextButton tenthScoreButton = new TextButton(String.valueOf(allTheScores[2][9].getText()), skin);

    // Pads Button text with spaces for correct alignment
    tenthLevelButton.setText(fillStringWithSpaces(String.valueOf(tenthLevelButton.getText())));
    previousLevelButton.setText(fillStringWithSpaces(previousLevelButtonString));
    stage.addActor(tenthLevelButton);
    stage.addActor(tenthScoreButton);

    // Groups to link the scores and levels for 10th-rank scores and the score just obtained
    // Needed to apply transforms to buttons since transforming text isn't possible, I think.
    Group group = new Group();
    group.addActor(tenthScoreButton);
    group.addActor(tenthLevelButton);

    Group groupPrevious = new Group();
    groupPrevious.addActor(previousLevelButton);
    groupPrevious.addActor(previousScoreButton);

    // Modifies score buttons positions for correct alignment with the rest of the table
    tenthScoreButton.setPosition(144 - subPosFromLength(tenthScoreButton.getText().length()), 00);
    previousScoreButton.setPosition(144 - subPosFromLength(previousScoreString.length()), 00);
    tenthScoreButton.align(Align.left);
    previousScoreButton.align(Align.left);

    tenthLevelButton.setTransform(true);
    tenthScoreButton.setTransform(true);

    stage.addActor(group);
    group.setPosition(105, 97);

    allTheScores[1][9].setVisible(false);
    allTheScores[2][9].setVisible(false);

    group.setTransform(true);

    // Adds animation for drop and bounce then rotate and drop to 10th rank score
    if (savedStuff.isPreviousScoreInTopScore()) {
        group.setOrigin(group.getX() + group.getWidth() + 50, 10);
        group.addAction(Actions.sequence(Actions.delay(2f), Actions.delay(0.5f),
                Actions.moveBy(0, -26, 2, Interpolation.bounceOut), Actions.delay(0.1f),
                Actions.rotateBy(90f, 2f, Interpolation.bounceOut), Actions.delay(0.1f),
                Actions.moveBy(0, -120, 2, Interpolation.bounceOut)));
    }

    // Adds spaces to first score in top score table to have the same column width regardless of score size
    allTheScores[2][0].setText(fillCSWithSpaces(allTheScores[2][0].getText()));

    mainMenuButton.addListener(new ChangeListener() {
        public void changed(ChangeEvent event, Actor actor) {
            dispose();
            game.setScreen(new MainMenuScreen(game));
        }
    });

    newGameButton.addListener(new ChangeListener() {
        public void changed(ChangeEvent event, Actor actor) {
            dispose();
            game.setScreen(new GameScreen(game));
        }
    });

    // Sets correct vertical position for score just obtained
    groupPrevious.setPosition(group.getX(), group.getY() + getVerticalPosSub(savedStuff.getScoreToReplace()));
    groupPrevious.setTransform(true);

    // Score is now in position, this makes it invisible
    groupPrevious.addAction(Actions.fadeOut(0.1f));

    // Fades the score in after the bottom-most score rotates and drops
    if (savedStuff.isPreviousScoreInTopScore()) {
        groupPrevious.addAction(Actions.sequence(Actions.delay(7.5f), Actions.fadeIn(1f)));
    }
    stage.addActor(groupPrevious);

    savedStuff.setSavedGameExists(false);
    savedStuff.savePreferences();

    savedStuff.updateLevelAndScore(level, score);
    try {
        savedStuff.saveScoresToFile();
    } catch (RuntimeException ex) {
        Gdx.app.log("ERROR NAHLC", ex.getMessage());
        ex.printStackTrace();
    } catch (Exception e) {
        Gdx.app.log("ERROR NAHLC", e.getMessage());
        e.printStackTrace();
    }
    Gdx.app.log("NAHLC", "leaving create()");
}

From source file:com.vlaaad.dice.game.world.view.visualizers.GiveExpVisualizer.java

License:Open Source License

@Override
public IFuture<Void> visualize(final GiveExpResult result) {
    if (result.exp == 0)
        return Future.completed();
    if (result.creature.initialPlayer != visualizer.viewController.world.viewer) {
        return Future.completed();
    }/*from w  w  w.  j  a v  a 2  s .c  o m*/
    final Future<Void> future = new Future<Void>();
    final ViewController viewController = visualizer.viewController;
    final WorldObjectView view = viewController.getView(result.creature);
    String text = "+" + result.exp + " exp";
    final ProfessionDescription profession = result.creature.description.profession;
    final int currentExp = result.creature.description.exp + result.creature.gainedExp;
    final Label label = new Label(text, Config.skin, "default", Color.WHITE);
    label.setPosition(view.getX() + view.getWidth() / 2 - label.getPrefWidth() / 2,
            view.getY() + view.getHeight() / 2 - label.getPrefHeight() / 2);
    label.addAction(Actions.sequence(
            Actions.parallel(Actions.alpha(0, 1f), Actions.moveBy(0, ViewController.CELL_SIZE / 2, 1f)),
            Actions.run(new Runnable() {
                @Override
                public void run() {
                    label.remove();
                    if (profession.getLevel(currentExp) == profession.getLevel(currentExp + result.exp)) {
                        future.happen();
                        return;
                    }
                    final AnimatedActor circle = new AnimatedActor(0.1f,
                            Config.skin.getAtlas().findRegions("animation/levelup-circle"));
                    circle.setPosition(view.getX() + view.getWidth() / 2 - circle.getWidth() / 2,
                            view.getY() + view.getHeight() / 2 - circle.getHeight() / 2);
                    viewController.selectionLayer.addActor(circle);
                    circle.addListener(new ChangeListener() {
                        @Override
                        public void changed(ChangeEvent event, Actor actor) {
                            circle.remove();
                            final TileSubView image = new TileSubView("animation/levelup-white-cube", -1);
                            view.addSubView(image);
                            image.getActor().getColor().a = 0;
                            image.getActor().addAction(
                                    Actions.sequence(Actions.alpha(1f, 0.4f), Actions.run(new Runnable() {
                                        @Override
                                        public void run() {
                                            SoundManager.instance.playMusicAsSound("level-up");
                                            view.addAction(Actions.sequence(
                                                    Actions.moveBy(0, 20, 0.3f, Interpolation.exp10Out),
                                                    Actions.run(new Runnable() {
                                                        @Override
                                                        public void run() {
                                                            view.addAction(Actions.sequence(Actions.delay(0.2f),
                                                                    Actions.run(new Runnable() {
                                                                        @Override
                                                                        public void run() {
                                                                            Label levelUp = new Label(
                                                                                    "LEVEL UP!", Config.skin,
                                                                                    "default", Color.WHITE);
                                                                            levelUp.setPosition((result.creature
                                                                                    .getX() + 0.5f)
                                                                                    * ViewController.CELL_SIZE
                                                                                    - levelUp.getWidth() / 2,
                                                                                    (result.creature.getY()
                                                                                            + 0.5f)
                                                                                            * ViewController.CELL_SIZE);
                                                                            viewController.notificationLayer
                                                                                    .addActor(levelUp);
                                                                            levelUp.addAction(Actions.moveBy(0,
                                                                                    45, 1.5f));
                                                                            levelUp.addAction(Actions.sequence(
                                                                                    Actions.alpha(0, 1.5f),
                                                                                    Actions.removeActor()));

                                                                        }
                                                                    })));
                                                        }
                                                    }),
                                                    Actions.moveBy(0, -20, 0.4f,
                                                            new Interpolation.BounceOut(2)),
                                                    Actions.run(new Runnable() {
                                                        @Override
                                                        public void run() {
                                                            image.getActor()
                                                                    .addAction(Actions.sequence(
                                                                            Actions.alpha(0, 0.4f),
                                                                            Actions.run(new Runnable() {
                                                                                @Override
                                                                                public void run() {
                                                                                    image.getActor().remove();
                                                                                    GameWindow<GiveExpResult> window = new LevelUpWindow();
                                                                                    window.addListener(
                                                                                            new WindowListener() {
                                                                                                @Override
                                                                                                protected void hidden(
                                                                                                        WindowEvent event) {
                                                                                                    future.happen();
                                                                                                }
                                                                                            });
                                                                                    window.show(result);
                                                                                }
                                                                            })));
                                                        }
                                                    })));
                                        }
                                    })));
                        }
                    });
                }
            })));
    viewController.notificationLayer.addActor(label);
    return future;
}

From source file:headmade.arttag.actors.JigglyImageTextButton.java

License:Apache License

public JigglyImageTextButton(String text, Skin skin, String styleName, Action action) {
    super(text, skin, styleName);
    setTransform(true);/*from  w w  w. ja va2  s  .  c  o  m*/
    setOrigin(Align.center);
    align(Align.left);
    getImageCell().pad(10f);

    if (null != action) {
        addAction(action);
    }

    final Actor thisButton = this;
    addListener(new InputListener() {
        @Override
        public void enter(InputEvent event, float x, float y, int pointer, Actor fromActor) {
            if (pointer < 0 && (event.getRelatedActor() == null
                    || !event.getRelatedActor().isDescendantOf(thisButton))) {
                // no button was pressed and exited Actor is not related to button
                thisButton.addAction(Actions.scaleBy(0.1f, 0.1f, 0.3f, Interpolation.bounceOut));
                event.stop();
            }
        }

        @Override
        public void exit(InputEvent event, float x, float y, int pointer, Actor fromActor) {
            if (event.getRelatedActor() == null || !event.getRelatedActor().isDescendantOf(thisButton)) {
                // entered Actor is not related to button
                thisButton.addAction(Actions.scaleBy(-0.1f, -0.1f, 0.2f, Interpolation.bounce));
                // event.stop();
            }
        }
    });
}

From source file:mobi.shad.s3lib.gfx.node.util.FxPixmapToAnimSprite.java

License:Apache License

/**
 *
 */// w w w  .j  av a2s .  co  m
@Override
protected void processLocal() {
    if (formGui != null) {

        speedSizeX = formGui.getFloat("speedSizeX") * S3Screen.aspectRatioX;
        speedSizeY = formGui.getFloat("speedSizeY") * S3Screen.aspectRatioY;

        startSizeX = formGui.getFloat("startSizeX") * S3Screen.aspectRatioX;
        startSizeY = formGui.getFloat("startSizeY") * S3Screen.aspectRatioY;

        amplitudeSizeX = formGui.getFloat("amplitudeSizeX") * S3Screen.aspectRatioX;
        amplitudeSizeY = formGui.getFloat("amplitudeSizeY") * S3Screen.aspectRatioY;

        speedPositionX = formGui.getFloat("speedPositionX") * S3Screen.aspectRatioX;
        speedPositionY = formGui.getFloat("speedPositionY") * S3Screen.aspectRatioY;

        amplitudePositionX = formGui.getFloat("amplitudePositionX") * S3Screen.aspectRatioX;
        amplitudePositionY = formGui.getFloat("amplitudePositionY") * S3Screen.aspectRatioY;

        transformMode = formGui.getInt("transformMode");
        interpolationMode = formGui.getInt("interpolationMode");

        switch (interpolationMode) {
        default:
            interpolation = Interpolation.linear;
            break;
        case 1:
            interpolation = Interpolation.bounce;
            break;
        case 2:
            interpolation = Interpolation.pow2;
            break;
        case 3:
            interpolation = Interpolation.pow3;
            break;
        case 4:
            interpolation = Interpolation.elastic;
            break;
        case 5:
            interpolation = Interpolation.swing;
            break;
        case 6:
            interpolation = Interpolation.sine;
            break;
        case 7:
            interpolation = Interpolation.bounceIn;
            break;
        case 8:
            interpolation = Interpolation.bounceOut;
            break;
        }
        fileTextureName = formGui.getString("FxTextureLoaderFile");

    }
    if (data.pixmap == null) {
        return;
    }

    data.spriteTexture = S3ResourceManager.getTexture(fileTextureName, 32);
    updateLocal(0, 0, 0, 0, false);
}

From source file:net.mwplay.cocostudio.ui.CocoStudioUIEditor.java

License:Apache License

/**
 * ??// w  w  w. j ava  2 s  .c  o m
 */
public Interpolation getInterpolation(int tweenType) {
    switch (tweenType) {
    case 0:
        return Interpolation.linear;
    case 1:
        return Interpolation.sineIn;
    case 2:
        return Interpolation.sineOut;
    case 3:
        return Interpolation.sine;
    case 4:
        return Interpolation.linear; //??Quad_EaseIn
    case 5:
        return Interpolation.linear; //??Quad_EaseOut
    case 6:
        return Interpolation.linear; //??Quad_EaseInOut
    case 7:
        return Interpolation.linear; //??Cubic_EaseIn
    case 8:
        return Interpolation.linear; //??Cubic_EaseOut
    case 9:
        return Interpolation.linear; //??Cubic_EaseInOut
    case 10:
        return Interpolation.linear; //??Quart_EaseIn
    case 11:
        return Interpolation.linear; //??Quart_EaseOut
    case 12:
        return Interpolation.linear; //??Quart_EaseInOut
    case 13:
        return Interpolation.linear; //??Quint_EaseIn
    case 14:
        return Interpolation.linear; //??Quint_EaseOut
    case 15:
        return Interpolation.linear; //??Quint_EaseInOut
    case 16:
        return Interpolation.exp10In;
    case 17:
        return Interpolation.exp10Out;
    case 18:
        return Interpolation.exp10;
    case 19:
        return Interpolation.circleIn;
    case 20:
        return Interpolation.circleOut;
    case 21:
        return Interpolation.circle;
    case 22:
        return Interpolation.elasticIn;
    case 23:
        return Interpolation.elasticOut;
    case 24:
        return Interpolation.elastic;
    case 25:
        return Interpolation.linear; //??Back_EaseIn
    case 26:
        return Interpolation.linear; //??Back_EaseOut
    case 27:
        return Interpolation.linear; //??Back_EaseInOut
    case 28:
        return Interpolation.bounceIn;
    case 29:
        return Interpolation.bounceOut;
    case 30:
        return Interpolation.bounce;

    default:
        return Interpolation.linear;
    }
}

From source file:org.pidome.client.photoframe.screens.photoscreen.actors.PhotosActor.java

public Interpolation getRandomFadeInterpolation() {
    switch (new Random().nextInt(14)) {
    case 0://from w  ww . j  ava 2s.com
        return Interpolation.exp10;
    case 1:
        return Interpolation.exp10In;
    case 2:
        return Interpolation.exp10Out;
    case 3:
        return Interpolation.exp5;
    case 4:
        return Interpolation.exp5In;
    case 5:
        return Interpolation.exp5Out;
    case 6:
        return Interpolation.fade;
    case 7:
        return Interpolation.linear;
    case 8:
        return Interpolation.sine;
    case 9:
        return Interpolation.sineIn;
    case 10:
        return Interpolation.sineOut;
    case 11:
        return Interpolation.bounce;
    case 12:
        return Interpolation.bounceIn;
    case 13:
        return Interpolation.bounceOut;
    default:
        return Interpolation.linear;
    }
}

From source file:org.pidome.client.photoframe.screens.photoscreen.actors.PhotosActor.java

public Interpolation getRandomInterpolation() {
    switch (new Random().nextInt(20)) {
    case 0:/* w  w  w .  j  a v  a2 s .  c  om*/
        return Interpolation.bounce;
    case 1:
        return Interpolation.bounceIn;
    case 2:
        return Interpolation.bounceOut;
    case 3:
        return Interpolation.circle;
    case 4:
        return Interpolation.circleIn;
    case 5:
        return Interpolation.circleOut;
    case 6:
        return Interpolation.exp10;
    case 7:
        return Interpolation.exp10In;
    case 8:
        return Interpolation.exp10Out;
    case 9:
        return Interpolation.exp5;
    case 10:
        return Interpolation.exp5In;
    case 11:
        return Interpolation.exp5Out;
    case 12:
        return Interpolation.fade;
    case 13:
        return Interpolation.linear;
    case 14:
        return Interpolation.sine;
    case 15:
        return Interpolation.sineIn;
    case 16:
        return Interpolation.sineOut;
    case 17:
        return Interpolation.swing;
    case 18:
        return Interpolation.swingIn;
    case 19:
        return Interpolation.swingOut;
    default:
        return Interpolation.linear;
    }
}