package com.gdxjam.screens; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.Texture.TextureFilter; import com.badlogic.gdx.scenes.scene2d.Action; import com.badlogic.gdx.scenes.scene2d.Stage; import com.badlogic.gdx.scenes.scene2d.ui.Image; import com.badlogic.gdx.scenes.scene2d.ui.Table; import com.gdxjam.Assets; import com.gdxjam.GameManager; import com.gdxjam.GameManager.GameConfig; public class SplashScreen extends AbstractScreen { Texture logo; Texture gamelogo, outpostLogo; float alpha = 0; Stage stage; Table table; @Override public void show() { logo = new Texture(Gdx.files.internal("logo.png")); gamelogo = new Texture(Gdx.files.internal("gamelogospin.png")); outpostLogo = new Texture(Gdx.files.internal("outpostgamelogo.png")); outpostLogo.setFilter(TextureFilter.Nearest, TextureFilter.Linear); stage = new Stage(); table = new Table(); table.setFillParent(true); // table.debug(); Image outpost = new Image(outpostLogo); outpost.setOrigin(outpost.getWidth() / 2, outpost.getHeight() / 2); outpost.addAction(new Fade()); outpost.addAction(new Action() { @Override public boolean act(float delta) { getActor().rotateBy(-5f * delta); return false; } }); Image rion = new Image(gamelogo); rion.addAction(new Fade()); Image gdxjam = new Image(logo); gdxjam.addAction(new Fade()); // Add everything to stage table.add(outpost); table.add(rion); table.row(); table.add(gdxjam).colspan(2); stage.addActor(table); Assets.load(); } @Override public void render(float delta) { super.render(delta); switch (GameConfig.build) { default: case RELEASE: if (alpha >= 1) { if (Assets.getManager().update()) { Assets.create(); GameManager.setScreen(new MainMenuScreen()); } } break; case DEV: alpha = 1; if (Assets.getManager().update()) { Assets.create(); GameManager.setScreen(new MainMenuScreen()); } break; } // Four seconds to complete fade in if (alpha >= 1) alpha = 1; else alpha += 0.25f * delta; stage.act(); stage.draw(); } @Override public void dispose() { stage.dispose(); logo.dispose(); gamelogo.dispose(); outpostLogo.dispose(); } public class Fade extends Action { @Override public boolean act(float delta) { getActor().setColor(1, 1, 1, alpha); return false; } } @Override public void resize(int width, int height) { // TODO Auto-generated method stub } @Override public void pause() { // TODO Auto-generated method stub } @Override public void resume() { // TODO Auto-generated method stub } @Override public void hide() { // TODO Auto-generated method stub } }