Skip to content
Snippets Groups Projects
Commit 1962aea0 authored by Sander Østrem Fagernes's avatar Sander Østrem Fagernes
Browse files

merge: merge origin/main into 14-main-menu-screen-setup

#14
parents 7ec506f2 27226496
No related branches found
No related tags found
1 merge request!1314 Main menu screen setup
/* NOTE: This class now extends the GDX Game-class.
* Previous input handling code is moved to the GameScreen-Class (for now).
*/
package com.game.tankwars;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Game;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.graphics.Texture;
......@@ -8,37 +12,24 @@ import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.utils.ScreenUtils;
import com.game.tankwars.model.Tank;
import com.game.tankwars.view.MainMenuScreen;
public class TankWarsGame extends ApplicationAdapter {
SpriteBatch batch;
public class TankWarsGame extends Game {
Tank tank;
@Override
public void create () {
batch = new SpriteBatch();
tank = new Tank(new Vector2(50, 50), new Texture("tank-khaki.png"));
public void create() {
MainMenuScreen mainMenuScreen = new MainMenuScreen(this);
this.setScreen(mainMenuScreen);
}
@Override
public void render () {
if(Gdx.input.isKeyPressed(Input.Keys.D)) {
tank.moveRight();
}
if(Gdx.input.isKeyPressed(Input.Keys.A)) {
tank.moveLeft();
}
ScreenUtils.clear(0, 0, 0, 1);
batch.begin();
batch.draw(tank.getTexture(), tank.getPosition().x, tank.getPosition().y, Tank.TANK_WIDTH, Tank.TANK_HEIGHT);
batch.end();
super.render();
}
@Override
public void dispose () {
batch.dispose();
tank.getTexture().dispose();
}
}
package com.game.tankwars.model;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.math.Vector2;
......@@ -55,5 +56,12 @@ public class Tank {
position.x -= TANK_MOVESPEED;
}
public boolean detectCollisionLeft() {
return position.x < 0;
}
public boolean detectCollisionRight() {
return Gdx.graphics.getWidth() / 2.0f - bounds.getWidth() / 2.0f - 50 < position.x;
}
}
package com.game.tankwars.view;
import com.badlogic.gdx.Screen;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.game.tankwars.TankWarsGame;
public class GameOverScreen implements Screen {
final TankWarsGame tankWarsGame;
OrthographicCamera camera;
public GameOverScreen(final TankWarsGame tankWarsGame){
this.tankWarsGame = tankWarsGame;
camera = new OrthographicCamera();
}
@Override
public void show() {
}
@Override
public void render(float delta) {
}
@Override
public void resize(int width, int height) {
}
@Override
public void pause() {
}
@Override
public void resume() {
}
@Override
public void hide() {
}
@Override
public void dispose() {
}
}
package com.game.tankwars.view;
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.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.utils.ScreenUtils;
import com.game.tankwars.TankWarsGame;
import com.game.tankwars.model.Tank;
public class GameScreen implements Screen {
final TankWarsGame tankWarsGame;
OrthographicCamera camera;
SpriteBatch batch;
Tank tank;
public GameScreen(final TankWarsGame tankWarsGame){
this.tankWarsGame = tankWarsGame;
camera = new OrthographicCamera();
batch = new SpriteBatch();
tank = new Tank(new Vector2(50, 50), new Texture("tank-khaki.png"));
}
@Override
public void render(float delta) {
if(Gdx.input.isKeyPressed(Input.Keys.D)) {
tank.moveRight();
}
if(Gdx.input.isKeyPressed(Input.Keys.A)) {
tank.moveLeft();
}
ScreenUtils.clear(0, 0, 0, 1);
batch.begin();
batch.draw(tank.getTexture(), tank.getPosition().x, tank.getPosition().y, Tank.TANK_WIDTH, Tank.TANK_HEIGHT);
batch.end();
}
@Override
public void show() {
}
@Override
public void resize(int width, int height) {
}
@Override
public void pause() {
}
@Override
public void resume() {
}
@Override
public void hide() {
}
@Override
public void dispose() {
}
}
package com.game.tankwars.view;
public class GameView {
}
package com.game.tankwars.view;public class MainMenuScreen {
package com.game.tankwars.view;
import com.badlogic.gdx.Screen;
import com.game.tankwars.TankWarsGame;
public class MainMenuScreen implements Screen {
public MainMenuScreen(final TankWarsGame tankWarsGame){
}
@Override
public void show() {
}
@Override
public void render(float delta) {
}
@Override
public void resize(int width, int height) {
}
@Override
public void pause() {
}
@Override
public void resume() {
}
@Override
public void hide() {
}
@Override
public void dispose() {
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment