1
Fork 0

Use Game class, add a basic structure for main menu and game screens

This commit is contained in:
Joshua Goins 2022-04-30 18:43:08 -04:00
parent fe02958e4d
commit ca5c086189
3 changed files with 128 additions and 9 deletions

View file

@ -0,0 +1,47 @@
package com.redstrate.watersymbol;
import com.badlogic.gdx.Screen;
import com.badlogic.gdx.utils.ScreenUtils;
public class GameScreen implements Screen {
private final WaterSymbol game;
GameScreen(WaterSymbol game) {
this.game = game;
}
@Override
public void show() {
}
@Override
public void render(float delta) {
ScreenUtils.clear(0, 0, 0.2f, 1);
}
@Override
public void resize(int width, int height) {
}
@Override
public void pause() {
}
@Override
public void resume() {
}
@Override
public void hide() {
}
@Override
public void dispose() {
}
}

View file

@ -0,0 +1,74 @@
package com.redstrate.watersymbol;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.Screen;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.g2d.GlyphLayout;
import com.badlogic.gdx.utils.ScreenUtils;
public class MainMenuScreen implements Screen {
OrthographicCamera camera;
GlyphLayout titleLayout;
MainMenuScreen(WaterSymbol game) {
this.game = game;
camera = new OrthographicCamera();
camera.setToOrtho(false, 800, 480);
titleLayout = new GlyphLayout(game.font, "WATER SYMBOL");
}
@Override
public void show() {
}
@Override
public void render(float delta) {
ScreenUtils.clear(0, 0, 0.2f, 1);
camera.update();
game.batch.setProjectionMatrix(camera.combined);
game.batch.begin();
game.font.draw(game.batch, titleLayout,
(camera.viewportWidth / 2) - (titleLayout.width / 2),
camera.viewportHeight / 2);
game.batch.end();
if(Gdx.input.isButtonJustPressed(Input.Buttons.LEFT)) {
game.setScreen(new GameScreen(game));
dispose();
}
}
@Override
public void resize(int width, int height) {
camera.setToOrtho(false, width, height);
}
@Override
public void pause() {
}
@Override
public void resume() {
}
@Override
public void hide() {
}
@Override
public void dispose() {
}
private final WaterSymbol game;
}

View file

@ -1,31 +1,29 @@
package com.redstrate.watersymbol; package com.redstrate.watersymbol;
import com.badlogic.gdx.ApplicationAdapter; import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Game;
import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.utils.ScreenUtils; import com.badlogic.gdx.utils.ScreenUtils;
public class WaterSymbol extends ApplicationAdapter { public class WaterSymbol extends Game {
SpriteBatch batch; SpriteBatch batch;
Texture img; BitmapFont font;
@Override @Override
public void create () { public void create () {
batch = new SpriteBatch(); batch = new SpriteBatch();
img = new Texture("badlogic.jpg"); font = new BitmapFont();
this.setScreen(new MainMenuScreen(this));
} }
@Override @Override
public void render () { public void render () {
ScreenUtils.clear(1, 0, 0, 1); super.render();
batch.begin();
batch.draw(img, 0, 0);
batch.end();
} }
@Override @Override
public void dispose () { public void dispose () {
batch.dispose(); batch.dispose();
img.dispose();
} }
} }