Back to project page CircleWorldGDX.
The source code is released under:
MIT License
If you think the Android project CircleWorldGDX listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.fdangelo.circleworld.gui.core; /*from w ww . j a va 2 s.c o m*/ import java.util.ArrayList; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.scenes.scene2d.Stage; import com.badlogic.gdx.scenes.scene2d.ui.Skin; public abstract class Screen { static private Skin defaultSkin; private final Stage stage; private final ScreenTable defaultScreenTable; private ArrayList<Screen> subscreens = new ArrayList<Screen>(); public Screen() { stage = new Stage(); defaultScreenTable = new ScreenTable(); stage.addActor(defaultScreenTable); initScreen(); } protected void addSubscreen(Screen screen) { subscreens.add(screen); stage.addActor(screen.defaultScreenTable); } public final Stage getStage() { return stage; } public final ScreenTable getScreenTable() { return defaultScreenTable; } public final void update(final float deltaTime) { stage.act(deltaTime); onUpdate(deltaTime); for (int i = 0; i < subscreens.size(); i++) subscreens.get(i).update(deltaTime); } public final void draw() { stage.draw(); } public final void resize(int width, int height) { stage.setViewport(width, height); } public final void setActive() { Gdx.input.setInputProcessor(stage); stage.setViewport(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); } public void setVisible(boolean visible) { defaultScreenTable.setVisible(visible); } static public Skin getDefaultSkin() { if (defaultSkin == null) { defaultSkin = new Skin(Gdx.files.internal("data/uiskin.json")); } return defaultSkin; } protected abstract void initScreen(); protected void onUpdate(final float deltaTime) { } }