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

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

Introduction

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

Prototype

Interpolation swing

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

Click Source Link

Usage

From source file:com.maplescot.loggerbill.ui.PausedDialog.java

License:Creative Commons License

private void rebuildStage(boolean anim) {
    Table outerTable = new Table();

    stage.clear();//from   ww  w . j a  va 2 s  .  com
    Stack stack = new Stack();

    if (engine.isAlive()) {
        window = new Window("Game Paused", billSkin, "paused");
    } else
        window = new Window("Game Over", billSkin, "game_over");

    window.setMovable(true);
    window.setResizeBorder(10);
    window.setResizable(true);
    window.pad(45, 50, 50, 50);
    window.setKeepWithinStage(false);

    int plays = (int) ProfileManager.getProfile().getTotalPlays();
    BigDecimal myCPS = chunks > Constants.MIN_CHUNKS_FOR_CPS
            ? new BigDecimal(chunks / time).setScale(2, RoundingMode.HALF_UP)
            : BigDecimal.ZERO;

    Table textLayer = new Table();
    textLayer.center().top();
    textLayer.add(new Label("Total Chunks", billSkin, "label")).row();
    textLayer.add(new Label(String.valueOf(chunks), billSkin, "score")).row();

    textLayer.add(new Label("Chunks Per Second", billSkin, "label")).row();
    textLayer.add(new Label(String.valueOf(myCPS), billSkin, "score")).row();

    if (plays > 0) {
        textLayer.add(new Label("__________________________", billSkin, "score")).row();
        textLayer
                .add(new Label("Best Chunks " + ProfileManager.getProfile().getBestChunks(), billSkin, "score"))
                .row();
        textLayer.add(new Label("Best Chunks Per Second: " + ProfileManager.getProfile().getBestCPSFormatted(),
                billSkin, "score")).row();
        textLayer.add(new Label("Total Plays: " + plays, billSkin, "score")).row();
        textLayer.add(new Label("Average Chunks " + ProfileManager.getProfile().getAvgChunksFormatted(),
                billSkin, "score")).row();
    }

    if (chunks > ProfileManager.getProfile().getBestChunks())
        textLayer.add(new Label("New Best Chunks!", billSkin, "highscore")).row();
    if (myCPS.floatValue() > ProfileManager.getProfile().getBestCPS())
        textLayer.add(new Label("New High Speed!", billSkin, "highscore")).row();
    window.add(textLayer).row();

    Table btnLayer = new Table();

    Button menuBtn = new Button(billSkin, "backButton");
    Button playBtn = new Button(billSkin, "replayButton");

    menuBtn.padLeft(10);

    btnLayer.bottom(); //.right();
    btnLayer.add(menuBtn);
    btnLayer.bottom();
    btnLayer.add(playBtn);
    window.add(btnLayer);

    window.pack();
    window.setWidth(Constants.VIEWPORT_GUI_WIDTH / 1.25f);

    stack.add(outerTable);

    stage.addActor(window);
    stack.setSize(Constants.VIEWPORT_GUI_WIDTH, Constants.getViewportHeight());

    playBtn.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            resumeGame();
        }
    });

    menuBtn.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            engine.endGame();
        }
    });

    if (anim) {
        window.setPosition((Constants.VIEWPORT_GUI_WIDTH / 2) - (window.getWidth() / 2),
                -Constants.getViewportHeight());
        window.addAction(Actions.moveTo((Constants.VIEWPORT_GUI_WIDTH / 2) - (window.getWidth() / 2),
                (Constants.getViewportHeight() / 2) - (window.getHeight() / 2), 1.0f, Interpolation.swing));
    } else {
        window.setPosition((Constants.VIEWPORT_GUI_WIDTH / 2) - (window.getWidth() / 2),
                (Constants.getViewportHeight() / 2) - (window.getHeight() / 2));
    }
    window.setKeepWithinStage(false);
}

From source file:com.twojeremys.merge.screen.MainMenuScreen.java

License:Creative Commons License

private void setupButtons() {

    /*/* w w w  . j a v a2s.  c o m*/
    *   Lets create a menu to display choices to the user
    */

    skin = new Skin(Gdx.files.internal("ui/skin/uiskin.json"));

    // Create the table and add the "skin" to it
    table = new Table(skin);

    GameState androidGameState = null;
    GameState desktopGameState = null;

    if (GameStateManager.saveExists()) {
        desktopGameState = GameStateManager.loadState();
    }

    if (this.game.getPrefs().contains("gplayautosignin")
            && this.game.getPrefs().getBoolean("gplayautosignin")) {
        androidGameState = game.getGoogleServices().getGameSave();
    }

    final boolean showSelectSaveDialog;
    final GameState tmpGameState;
    // Check to see if we need to compare the android and local saves
    if (androidGameState != null && desktopGameState != null) {
        showSelectSaveDialog = true;
        tmpGameState = androidGameState;
    } else {
        if (androidGameState != null) {
            tmpGameState = androidGameState;
        } else {
            tmpGameState = desktopGameState;
        }
        showSelectSaveDialog = true;
    }

    if (tmpGameState != null) {

        // Create a new row so the buttons are not side-by-side
        table.row();

        // Create the Load Game Button, pass in "loadgame" to the listener
        loadGameButton = new TextButton("Resume", skin, "default");

        //loadGameButton.addListener(new DefaultMenuActionListener("loadgame"));
        loadGameButton.addListener(new InputListener() {

            public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
                return true;
            }

            //This only fires when the button is first let up
            @Override
            public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
                if (showSelectSaveDialog) {
                    selectSavePopup();
                } else {
                    dispose();
                    game.setScreen(new GameScreen(game, tmpGameState));
                }
            }
        });

        // Add the load game button to the table
        table.add(loadGameButton).size(150f, 40f).uniform().spaceBottom(10);
    }

    // Add another row
    table.row();

    /* *******************************************
     *  Create the buttons and add them to the table
     ***********************************************/

    // Create the new game button, and pass in the word "newGame" to a listener which is called on the DOWN/UP events
    newGameButton = new TextButton("New Game", skin, "default");

    newGameButton.addListener(new InputListener() {
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            return true;
        }

        //This only fires when the button is first let up
        @Override
        public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
            dispose();
            game.setScreen(new GameScreen(game));
        }
    });

    // add the start-game button to the table
    //  Using the returned [CELL] object, change that cell's size, make it uniform, and add space below it.
    //  - I think this is harder because we have to guess the width, vs just using the padding.
    //  - However, this could be beneficial for creating static/standard width buttons regardless of content (text)
    //  - I'm oldschool I suppose and would rather create an instance of Cell, and call size, uniform, and spaceBottom separately.
    table.add(newGameButton).size(150f, 40f).uniform().spaceBottom(10);

    // Add another row to the table
    table.row();

    //TODO maybe change all this gplay stuff to be an icon in one of the corners? icon packs are here: https://developers.google.com/games/services/downloads/graphics
    googlePlaySignInListen = new InputListener() {
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            return true;
        }

        //This only fires when the button is first let up
        @Override
        public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
            game.getGoogleServices().loginGPGS();
            googlePlayButton.setText("Google Play - sign out");
            googlePlayButton.clearListeners();
            game.getPrefs().putBoolean("gplayautosignin", true).flush();
            googlePlayButton.addListener(googlePlaySignOutListen);
        }
    };

    googlePlaySignOutListen = new InputListener() {
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            return true;
        }

        //This only fires when the button is first let up
        @Override
        public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
            game.getGoogleServices().logoutGPGS();
            googlePlayButton.setText("Google Play - sign in");
            googlePlayButton.clearListeners();
            game.getPrefs().putBoolean("gplayautosignin", false).flush();
            googlePlayButton.addListener(googlePlaySignInListen);
        }
    };

    // Create the google play sign-in button
    if (this.game.getPrefs().contains("gplayautosignin")
            && this.game.getPrefs().getBoolean("gplayautosignin")) {
        googlePlayButton = new TextButton("Google Play - sign out", skin, "default");
        googlePlayButton.addListener(googlePlaySignOutListen);
    } else {
        googlePlayButton = new TextButton("Google Play - sign in", skin, "default");
        googlePlayButton.addListener(googlePlaySignInListen);
    }

    // Add some padding all the way around the button this time
    googlePlayButton.pad(10);

    // Add the extGameButton to the table so it is active/displayed
    table.add(googlePlayButton).size(150f, 40f).uniform().spaceBottom(10);

    // Add another row to the table
    table.row();

    // Create another button using the same style, passing in the word "extiGame" to the listener for handling later
    exitGameButton = new TextButton("Exit", skin, "default");
    exitGameButton.addListener(new InputListener() {
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            return true;
        }

        //This only fires when the button is first let up
        @Override
        public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
            Gdx.app.debug(TAG, "exit button pressed. bye now.");
            Gdx.app.exit();
        }
    });

    // Add some padding all the way around the button this time
    exitGameButton.pad(10);

    // Add the extGameButton to the table so it is active/displayed
    table.add(exitGameButton).size(150f, 40f).uniform().spaceBottom(10);

    //Set the table off the screen, to use actions to add "tween" flare
    table.setPosition(Gdx.graphics.getWidth() / 2, 0);

    //        MoveToAction bounceAction = new MoveToAction();
    //        bounceAction.setInterpolation(Interpolation.swing);
    //        bounceAction.setPosition(Gdx.graphics.getWidth()/2, Gdx.graphics.getHeight()/2);
    //        bounceAction.setDuration(0.5f);
    //        table.addAction(bounceAction);

    //Make the menu move up from off the screen with flare and "tween" by adding Interpolation.swing
    table.addAction(Actions.moveTo(Gdx.graphics.getWidth() / 2, Gdx.graphics.getHeight() / 2, 0.5f,
            Interpolation.swing));

    // add the table onto the stage
    stage.addActor(table);
}

From source file:fr.plafogaj.screens.MainMenu.java

License:Open Source License

public void setButtonListeners() {
    m_playButton.addListener(new ClickListener() {
        @Override//from  w w  w .  j  a v a  2  s. co m
        public void clicked(InputEvent event, float x, float y) {
            m_levelCollapsible.setCollapsed(!m_levelCollapsible.isCollapsed());
        }
    });

    m_level1Button.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            ((BananaKnight) (Gdx.app.getApplicationListener()))
                    .setScreen(new Game(Gdx.files.internal("level/1/configLevel.json")));
        }
    });

    m_level2Button.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            ((BananaKnight) (Gdx.app.getApplicationListener()))
                    .setScreen(new Game(Gdx.files.internal("level/2/configLevel.json")));
        }
    });

    m_level3Button.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            ((BananaKnight) (Gdx.app.getApplicationListener()))
                    .setScreen(new Game(Gdx.files.internal("level/3/configLevel.json")));
        }
    });

    m_exitButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            m_mainTable.addAction(Actions.sequence(Actions.run(new Runnable() {
                @Override
                public void run() {
                    m_swordSound.play(0.2f);
                }
            }), Actions.moveTo(-BananaKnight.WIDTH / 2, m_mainTable.getY(), 0.6f, Interpolation.swing),
                    Actions.delay(0.2f), Actions.run(new Runnable() {
                        @Override
                        public void run() {
                            Gdx.app.exit();
                        }
                    })));
        }
    });

    m_editorButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            try {
                System.out.println(
                        Gdx.files.getLocalStoragePath() + Gdx.files.internal("tiledApp/bin/tiled").path());
                Runtime.getRuntime().exec(
                        Gdx.files.getLocalStoragePath() + Gdx.files.internal("tiledApp/bin/tiled").path());
            } catch (Exception e) {
                System.out.println("Problem occurs");
                e.printStackTrace();
            }
        }
    });
}

From source file:fr.plafogaj.screens.MainMenu.java

License:Open Source License

public void animateTable() {
    m_mainTable.addAction(Actions.sequence(Actions.alpha(0), Actions.delay(0.2f),
            Actions.fadeIn(0.3f, Interpolation.sine), Actions.delay(0.4f),
            Actions.moveTo(-BananaKnight.WIDTH / 2 + 160, m_mainTable.getY(), 0.6f, Interpolation.swing),
            Actions.run(new Runnable() {
                @Override/*from  w ww.j  av a 2 s.co  m*/
                public void run() {
                    m_playButton.setChecked(true);
                    m_levelCollapsible.setCollapsed(false);
                }
            })));
}

From source file:mobi.shad.s3lib.gfx.node.filter.FxTextureGalleryMask.java

License:Apache License

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

        actionTime = formGui.getFloat("actionTime");
        pauseTime = formGui.getFloat("pauseTime");
        filesList = formGui.getArrayString("imageList");

        filesList = formGui.getArrayString("imageList");
        maskTextureName = formGui.getString("imageMask");

        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;
        }

        data.type = Data.Type.EFFECT_2D;

        maskTexture = S3ResourceManager.getPixmap(maskTextureName, S3Constans.textureImageSizeHight);

        if (filesList != null) {
            if (filesList.length > 1) {
                srcTexture = S3ResourceManager.getPixmap(filesList[0], S3Constans.textureImageSizeHight);
                src2Texture = S3ResourceManager.getPixmap(filesList[1], S3Constans.textureImageSizeHight);
            } else {
                srcTexture = new Pixmap(S3Constans.textureImageSizeLow, S3Constans.textureImageSizeLow,
                        Format.RGBA8888);
                srcTexture.setColor(Color.CLEAR);
                srcTexture.fill();
                if (filesList.length > 0) {
                    src2Texture = S3ResourceManager.getPixmap(filesList[0], S3Constans.textureImageSizeHight);
                } else {
                    src2Texture = new Pixmap(S3Constans.textureImageSizeLow, S3Constans.textureImageSizeLow,
                            Format.RGBA8888);
                    src2Texture.setColor(Color.CLEAR);
                    src2Texture.fill();
                }
            }
        } else {
            srcTexture = new Pixmap(S3Constans.textureImageSizeLow, S3Constans.textureImageSizeLow,
                    Format.RGBA8888);
            srcTexture.setColor(Color.CLEAR);
            srcTexture.fill();

            src2Texture = new Pixmap(srcTexture.getWidth(), srcTexture.getHeight(), srcTexture.getFormat());
            src2Texture.setColor(Color.CLEAR);
            src2Texture.fill();
        }

        if (data.pixmap == null) {
            data.pixmap = new Pixmap(S3Constans.textureImageSizeHight, S3Constans.textureImageSizeHight,
                    Pixmap.Format.RGBA8888);
            data.pixmap.setColor(Color.CLEAR);
            data.pixmap.fill();
            data.textureChange = true;
        }

        clearPixmap = new Pixmap(S3Constans.textureImageSizeLow, S3Constans.textureImageSizeLow,
                Format.RGBA8888);
        clearPixmap.setColor(Color.CLEAR);
        clearPixmap.fill();

        pixmapFilter.setPixmap(data.pixmap, srcTexture, src2Texture, maskTexture);
    }
    currentActionTime = 0;
    currentPauseTime = 0;
    currentImageIdx = 0;
}

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

License:Apache License

/**
 *
 *///from  ww  w .  j  a  v a  2 s .  c om
@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.spookygames.gdx.sfx.demo.GdxSfxDemo.java

License:Open Source License

@Override
public void create() {

    /******************/
    /* Initialization */
    /******************/

    prefs = Gdx.app.getPreferences("GdxSfxDemo");

    batch = new SpriteBatch();

    Camera camera = new OrthographicCamera();

    FileHandleResolver resolver = new AbsoluteFileHandleResolver();
    assetManager = new AssetManager(resolver);
    assetManager.setLoader(SfxMusic.class, new SfxMusicLoader(resolver));

    skin = new Skin(Gdx.files.internal("skin/uiskin.json"));

    player = new SfxMusicPlayer();

    /************/
    /* Playlist */
    /************/

    final VerticalGroup playlistGroup = new VerticalGroup();
    playlistGroup.fill().left();//from   www .j a va 2s .c  o  m

    final Label invitationLabel = new Label("Add some music and let's have fun", skin, "subtitle");
    invitationLabel.setAlignment(Align.center);

    ScrollPane scrollablePlaylistTable = new ScrollPane(playlistGroup, skin);
    scrollablePlaylistTable.setScrollingDisabled(true, false);

    playlistGroup.addActor(invitationLabel);

    /********/
    /* File */
    /********/

    Button fileFinder = new TextButton("Add music", skin, "round");
    fileFinder.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {

            NativeFileChooserConfiguration conf = new NativeFileChooserConfiguration();
            conf.directory = Gdx.files.absolute(prefs.getString("last",
                    Gdx.files.isExternalStorageAvailable() ? Gdx.files.getExternalStoragePath()
                            : (Gdx.files.isLocalStorageAvailable() ? Gdx.files.getLocalStoragePath()
                                    : System.getProperty("user.home"))));
            conf.nameFilter = new FilenameFilter() {
                final String[] extensions = { "wav", "mp3", "ogg" };

                @Override
                public boolean accept(File dir, String name) {
                    int i = name.lastIndexOf('.');
                    if (i > 0 && i < name.length() - 1) {
                        String desiredExtension = name.substring(i + 1).toLowerCase(Locale.ENGLISH);
                        for (String extension : extensions) {
                            if (desiredExtension.equals(extension)) {
                                return true;
                            }
                        }
                    }
                    return false;
                }
            };
            conf.mimeFilter = "audio/*";
            conf.title = "Choose audio file";

            fileChooser.chooseFile(conf, new NativeFileChooserCallback() {
                @Override
                public void onFileChosen(FileHandle file) {
                    if (file == null)
                        return;

                    prefs.putString("last", file.parent().file().getAbsolutePath());
                    MusicParameters parameters = new MusicParameters();
                    parameters.title = file.name();
                    parameters.loadedCallback = new LoadedCallback() {
                        @Override
                        public void finishedLoading(AssetManager assetManager, String fileName,
                                @SuppressWarnings("rawtypes") Class type) {
                            final SfxMusic music = assetManager.get(fileName, SfxMusic.class);
                            if (player.addToPlaylist(music)) {
                                final MusicWidget widget = new MusicWidget(skin, music);
                                playlistGroup.addActor(widget);
                                widget.removeButton.addListener(new ChangeListener() {
                                    @Override
                                    public void changed(ChangeEvent event, Actor actor) {
                                        if (player.removeFromPlaylist(music))
                                            widget.remove();
                                    }
                                });
                            }
                        }
                    };

                    assetManager.load(new AssetDescriptor<SfxMusic>(file, SfxMusic.class, parameters));
                }

                @Override
                public void onCancellation() {
                }

                @Override
                public void onError(Exception exception) {
                }
            });
        }
    });

    /***********/
    /* Control */
    /***********/

    Table controlTable = new Table(skin);

    final Button playPauseButton = new Button(skin, "music");
    playPauseButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            if (playPauseButton.isChecked()) {
                player.play();
            } else {
                player.pause();
            }
        }
    });

    Button previousButton = new Button(skin, "left");
    previousButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            player.previous();
        }
    });

    Button nextButton = new Button(skin, "right");
    nextButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            player.next();
        }
    });

    final Button muteButton = new Button(skin, "sound");
    muteButton.setChecked(true);
    muteButton.addListener(new ChangeListener() {
        float formerVolume = player.getVolume();

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            float newVolume;
            if (muteButton.isChecked()) {
                // Un-mute
                newVolume = formerVolume;
            } else {
                // Mute
                formerVolume = player.getVolume();
                newVolume = 0f;
            }
            player.setVolume(newVolume);
        }
    });

    final Slider panSlider = new Slider(-1f, 1f, 0.02f, false, skin);
    panSlider.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            player.setPan(panSlider.getValue());
        }
    });
    panSlider.setValue(player.getPan());

    final Slider volumeSlider = new Slider(0f, 1f, 0.01f, false, skin);
    volumeSlider.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            muteButton.setChecked(true);
            player.setVolume(volumeSlider.getValue());
        }
    });
    volumeSlider.setValue(player.getVolume());

    final CheckBox shuffleCheckBox = new CheckBox("Shuffle", skin, "switch");
    shuffleCheckBox.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            player.setShuffleEnabled(shuffleCheckBox.isChecked());
        }
    });
    shuffleCheckBox.setChecked(player.isShuffleEnabled());

    final CheckBox repeatCheckBox = new CheckBox("Repeat", skin, "switch");
    repeatCheckBox.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            player.setRepeatEnabled(repeatCheckBox.isChecked());
        }
    });
    repeatCheckBox.setChecked(player.isRepeatEnabled());

    final Table fadeTable = new Table(skin);

    final Label fadeDurationLabel = new Label("0.0s", skin);
    final Slider fadeDurationSlider = new Slider(0.1f, 5f, 0.1f, false, skin);
    fadeDurationSlider.addListener(new ChangeListener() {
        String format = "%.1fs";

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            float value = fadeDurationSlider.getValue();
            player.setFadeDuration(value);
            fadeDurationLabel.setText(String.format(format, value));
        }
    });
    fadeDurationSlider.setValue(player.getFadeDuration());

    final SelectBox<String> fadeInterpolationSelectBox = new SelectBox<String>(skin);
    final ObjectMap<String, Interpolation> interpolations = new ObjectMap<String, Interpolation>();
    interpolations.put("Linear", Interpolation.linear);
    interpolations.put("Fade", Interpolation.fade);
    interpolations.put("Circle", Interpolation.circle);
    interpolations.put("Sine", Interpolation.sine);
    interpolations.put("Bounce", Interpolation.bounce);
    interpolations.put("Elastic", Interpolation.elastic);
    interpolations.put("Swing", Interpolation.swing);
    fadeInterpolationSelectBox.setItems(interpolations.keys().toArray());
    fadeInterpolationSelectBox.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            player.setFadeInterpolation(interpolations.get(fadeInterpolationSelectBox.getSelected()));
        }
    });

    fadeTable.defaults().left().pad(1f);
    fadeTable.row();
    fadeTable.add("Duration");
    fadeTable.add(fadeDurationSlider).expandX().fill();
    fadeTable.add(fadeDurationLabel).width(40);
    fadeTable.row();
    fadeTable.add("Interpolation");
    fadeTable.add(fadeInterpolationSelectBox).colspan(2).expandX().fill();

    final CheckBox fadeCheckBox = new CheckBox("Fade", skin, "switch");
    fadeCheckBox.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            boolean fade = fadeCheckBox.isChecked();
            player.setFadingEnabled(fade);
            fadeTable.setVisible(fade);
        }
    });
    fadeCheckBox.setChecked(player.isFadingEnabled());
    fadeTable.setVisible(player.isFadingEnabled());

    controlTable.defaults().padTop(4f);
    controlTable.row().colspan(3);
    controlTable.add(shuffleCheckBox).left();
    controlTable.row().colspan(3);
    controlTable.add(repeatCheckBox).left();
    controlTable.row().colspan(3);
    controlTable.add(fadeCheckBox).left();
    controlTable.row().colspan(3);
    controlTable.add(fadeTable);
    controlTable.row();
    controlTable.add("Pan");
    controlTable.add(panSlider).colspan(2);
    controlTable.row().colspan(3);
    controlTable.add().expand();
    controlTable.row();
    controlTable.add(previousButton).right();
    controlTable.add(playPauseButton);
    controlTable.add(nextButton).left();
    controlTable.row();
    controlTable.add("Volume");
    controlTable.add(volumeSlider).colspan(2);
    controlTable.row();
    controlTable.add("Mute");
    controlTable.add(muteButton).colspan(2).left();

    /*********/
    /* Debug */
    /*********/

    Label debugLabel = new Label("", skin) {
        @Override
        public void act(float delta) {
            setText(player.toString());
            super.act(delta);
        }
    };

    /***************/
    /* Stage setup */
    /***************/

    Table leftTable = new Table(skin);
    leftTable.row();
    leftTable.add(scrollablePlaylistTable).expand().fillX().top();
    leftTable.row();
    leftTable.add(debugLabel).expandX().left().padLeft(30f).padTop(8f);

    Table rightTable = new Table(skin);
    rightTable.row();
    rightTable.add(controlTable).expandY().fill();
    rightTable.row();
    rightTable.add(fileFinder).padTop(10f);

    Table rootTable = new Table(skin);
    rootTable.setFillParent(true);
    rootTable.row();
    rootTable.add(leftTable).expand().fill();
    rootTable.add(rightTable).expandY().fill().padTop(25f).padLeft(8f);

    stage = new Stage(new ScreenViewport(camera), batch);
    stage.addActor(rootTable);

    /*********/
    /* Input */
    /*********/

    Gdx.input.setInputProcessor(stage);
}

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

public Interpolation getRandomInterpolation() {
    switch (new Random().nextInt(20)) {
    case 0:// ww  w  . ja v a  2s .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;
    }
}