Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.dermetfan.someLibgdxTests.screens;
- import net.dermetfan.someLibgdxTests.tween.ColorAccessor;
- import aurelienribon.tweenengine.BaseTween;
- import aurelienribon.tweenengine.Tween;
- import aurelienribon.tweenengine.TweenCallback;
- import aurelienribon.tweenengine.TweenManager;
- import com.badlogic.gdx.Game;
- import com.badlogic.gdx.Gdx;
- import com.badlogic.gdx.Screen;
- import com.badlogic.gdx.graphics.Color;
- import com.badlogic.gdx.graphics.GL20;
- import com.badlogic.gdx.graphics.OrthographicCamera;
- import com.badlogic.gdx.graphics.Pixmap;
- import com.badlogic.gdx.graphics.Pixmap.Format;
- import com.badlogic.gdx.graphics.Texture;
- import com.badlogic.gdx.graphics.g2d.SpriteBatch;
- public class TransitionTest implements Screen {
- private SpriteBatch batch;
- private OrthographicCamera cam;
- private TweenManager tweenManager;
- private boolean transition;
- private Texture transitionTexture;
- private Color transitionColor;
- @Override
- public void render(float delta) {
- Gdx.gl.glClearColor(1, 0, 0, 1);
- Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
- batch.begin();
- batch.setProjectionMatrix(cam.combined);
- // draw your stuff here
- // draw the black over all of it
- if(transition) {
- tweenManager.update(delta);
- batch.setColor(transitionColor);
- batch.draw(transitionTexture, cam.position.x - cam.viewportWidth / 2, cam.position.y - cam.viewportHeight / 2, cam.viewportWidth, cam.viewportHeight);
- }
- batch.end();
- }
- private void startTransition() {
- transition = true;
- Tween.to(transitionColor, ColorAccessor.A, 1).target(1).setCallback(new TweenCallback() {
- @Override
- public void onEvent(int type, BaseTween<?> source) {
- ((Game) Gdx.app.getApplicationListener()).setScreen(new Menu());
- }
- }).start(tweenManager);
- }
- @Override
- public void resize(int width, int height) {
- startTransition();
- }
- @Override
- public void show() {
- batch = new SpriteBatch();
- cam = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
- // you could also just load a black texture the normal way
- Pixmap pixmap = new Pixmap(1, 1, Format.RGB565);
- pixmap.setColor(Color.BLACK);
- pixmap.fill();
- transitionTexture = new Texture(pixmap);
- pixmap.dispose();
- transitionColor = new Color(0, 0, 0, 0);
- tweenManager = new TweenManager();
- Tween.registerAccessor(Color.class, new ColorAccessor());
- }
- @Override
- public void hide() {
- dispose();
- }
- @Override
- public void pause() {
- }
- @Override
- public void resume() {
- }
- @Override
- public void dispose() {
- batch.dispose();
- transitionTexture.dispose();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement