class GameScreen(game: MysticWoods) : KtxScreen {
private val gameStage = game.gameStage
private val uiStage = game.uiStage
private val gameAtlas = TextureAtlas("graphics/game.atlas")
private val phWorld = createWorld(gravity = Vector2.Zero).apply {
autoClearForces = false
}
private val rayHandler = RayHandler(phWorld).apply {
// don't make light super bright
RayHandler.useDiffuseLight(true)
// player only throws shadows for map environment but not for enemies like slimes
Light.setGlobalContactFilter(LightComponent.b2dPlayer, 1, LightComponent.b2dEnvironment)
setAmbientLight(LightSystem.dayLightColor)
}
public class GameScreen extends AbstractGameScreen {
private static final String TAG = GameScreen.class.getName();
private WorldController worldController;
private WorldRenderer worldRenderer;
private boolean paused;
public GameScreen (Game game) {
super(game);
}
@Override
public void render (float deltaTime) {
// Do not update game world when paused.
if (!paused) {
// Update game world by the time that has passed
// since last rendered frame.
worldController.update(deltaTime);
}
// Sets the clear screen color to: Cornflower Blue
Gdx.gl.glClearColor(0x64 / 255.0f, 0x95 / 255.0f, 0xed / 255.0f, 0xff / 255.0f);
// Clears the screen
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
// Render game world to screen
worldRenderer.render();
}