package com.AngryStickStudios.StickFlick.Screens; import aurelienribon.tweenengine.BaseTween; import aurelienribon.tweenengine.Tween; import aurelienribon.tweenengine.TweenCallback; import aurelienribon.tweenengine.TweenEquations; import aurelienribon.tweenengine.TweenManager; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Preferences; import com.badlogic.gdx.Screen; import com.badlogic.gdx.audio.Music; import com.badlogic.gdx.graphics.GL10; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.Texture.TextureFilter; import com.badlogic.gdx.graphics.g2d.Sprite; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.AngryStickStudios.StickFlick.StickFlick; import com.AngryStickStudios.StickFlick.TweenAccessors.SpriteTween; public class SplashScreen2 implements Screen{ Preferences prefs = Gdx.app.getPreferences("Preferences"); Texture splashTexture; Sprite splashSprite; SpriteBatch batch; StickFlick game; TweenManager manager; Music swoosh; public SplashScreen2(StickFlick game){ this.game = game; } @Override public void render(float delta) { Gdx.gl.glClearColor(0, 0, 0, 1); Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); manager.update(delta); batch.begin(); splashSprite.draw(batch); batch.end(); } @Override public void resize(int width, int height) { } @Override public void show() { swoosh = Gdx.audio.newMusic(Gdx.files.internal("data/sounds/splashSwoosh.mp3")); //Set Volumes swoosh.setVolume(prefs.getInteger("SFXVolume") * 0.01f); swoosh.play(); splashTexture = new Texture("data/SplashScreen2.png"); splashTexture.setFilter(TextureFilter.Linear, TextureFilter.Linear); splashSprite = new Sprite(splashTexture); splashSprite.setColor(1, 1, 1, 0); splashSprite.setSize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); batch = new SpriteBatch(); Tween.registerAccessor(Sprite.class, new SpriteTween()); manager = new TweenManager(); TweenCallback cb = new TweenCallback(){ @Override public void onEvent(int type, BaseTween<?> source) { tweenCompleted(); } }; Tween.to(splashSprite, SpriteTween.ALPHA, 1f).target(1).ease(TweenEquations.easeInQuad).repeatYoyo(1, 1.7f).setCallback(cb).setCallbackTriggers(TweenCallback.COMPLETE).start(manager); } private void tweenCompleted(){ game.anims.loadFirstAnims(); game.anims.loadSecondAnims(); game.setScreen(new MainMenu(game)); } @Override public void hide() { } @Override public void pause() { } @Override public void resume() { } @Override public void dispose() { swoosh.dispose(); splashTexture.dispose(); batch.dispose(); } }