diff --git a/android/assets/badlogic.jpg b/android/assets/badlogic.jpg deleted file mode 100644 index 4390da6..0000000 Binary files a/android/assets/badlogic.jpg and /dev/null differ diff --git a/android/assets/buttonLeft.png b/android/assets/buttonLeft.png new file mode 100644 index 0000000..095ddce Binary files /dev/null and b/android/assets/buttonLeft.png differ diff --git a/android/assets/buttonRight.png b/android/assets/buttonRight.png new file mode 100644 index 0000000..86dd033 Binary files /dev/null and b/android/assets/buttonRight.png differ diff --git a/android/assets/clicktostart.png b/android/assets/clicktostart.png new file mode 100644 index 0000000..cff404d Binary files /dev/null and b/android/assets/clicktostart.png differ diff --git a/core/assets/clicktostart.png b/core/assets/clicktostart.png deleted file mode 100644 index 2c526b6..0000000 Binary files a/core/assets/clicktostart.png and /dev/null differ diff --git a/core/src/view/Gamescreen.java b/core/src/view/Gamescreen.java index d3bd6b4..a5a6432 100644 --- a/core/src/view/Gamescreen.java +++ b/core/src/view/Gamescreen.java @@ -39,7 +39,7 @@ public class Gamescreen extends AbstractScreen{ batch.end(); if(Gdx.input.justTouched()){ - game.setScreen(new Titlescreen(game)); + game.setScreen(new Levelscreen(game)); } } diff --git a/core/src/view/Levelscreen.java b/core/src/view/Levelscreen.java index 910c4c9..c4d0452 100644 --- a/core/src/view/Levelscreen.java +++ b/core/src/view/Levelscreen.java @@ -10,8 +10,11 @@ import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.GL20; +import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.BitmapFont; +import com.badlogic.gdx.graphics.g2d.Sprite; import com.badlogic.gdx.graphics.g2d.SpriteBatch; +import com.badlogic.gdx.utils.Timer; /** * @@ -19,8 +22,49 @@ import com.badlogic.gdx.graphics.g2d.SpriteBatch; */ public class Levelscreen extends AbstractScreen{ + Sprite[] levelPreview; + Sprite buttonRight; + Sprite buttonLeft; + int selectedLevel; + BitmapFont font; + Timer t; + boolean movement; + public Levelscreen(Game game){ super(game); + levelPreview = new Sprite[5]; + buttonRight = new Sprite(new Texture("buttonRight.png")); + buttonRight.setY(Gdx.graphics.getHeight() / 2 - buttonRight.getHeight() / 2); + buttonRight.setX(Gdx.graphics.getWidth() - 10 - buttonRight.getWidth()); + buttonLeft = new Sprite(new Texture("buttonLeft.png")); + buttonLeft.setY(Gdx.graphics.getHeight() / 2 - buttonLeft.getHeight() / 2); + buttonLeft.setX(10); + selectedLevel = 0; + + font = new BitmapFont(); + font.setColor(Color.BLACK); + + t = new Timer(); + + t.scheduleTask(new Timer.Task() { + @Override + public void run() { + if(buttonLeft.getX() <= 0){ + movement = true; + } + if(buttonLeft.getX() + buttonLeft.getWidth() > Gdx.graphics.getWidth() * 0.2){ + movement = false; + } + if(movement){ + buttonRight.setX(buttonRight.getX() - 2); + buttonLeft.setX(buttonLeft.getX() + 2); + } + else{ + buttonRight.setX(buttonRight.getX() + 2); + buttonLeft.setX(buttonLeft.getX() - 2); + } + } + },0 , 0.04f); } @Override @@ -32,15 +76,32 @@ public class Levelscreen extends AbstractScreen{ Gdx.gl.glClearColor(1f, 1f, 1f, 1f); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); - BitmapFont font = new BitmapFont(); - font.setColor(Color.RED); SpriteBatch batch = new SpriteBatch(); + + batch.begin(); - font.draw(batch, "LEVELSCREEN", 250, 250); + if(selectedLevel > 0){ + buttonLeft.draw(batch); + } + if(selectedLevel < levelPreview.length){ + buttonRight.draw(batch); + } + font.draw(batch, "" + selectedLevel, Gdx.graphics.getWidth() / 2, Gdx.graphics.getHeight() / 2); batch.end(); if(Gdx.input.justTouched()){ - game.setScreen(new Gamescreen(game)); + if(Gdx.input.getX() < Gdx.graphics.getWidth() * 0.2){ + if(selectedLevel > 0) + selectedLevel --; + } + else if(Gdx.input.getX() > Gdx.graphics.getWidth() * 0.8){ + if(selectedLevel < levelPreview.length) + selectedLevel ++; + } + else{ + dispose(); + game.setScreen(new Gamescreen(game)); + } } } @@ -62,6 +123,7 @@ public class Levelscreen extends AbstractScreen{ @Override public void dispose() { + t.clear(); } } diff --git a/core/src/view/Titlescreen.java b/core/src/view/Titlescreen.java index d62fe01..643e2e6 100644 --- a/core/src/view/Titlescreen.java +++ b/core/src/view/Titlescreen.java @@ -14,6 +14,7 @@ import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.BitmapFont; import com.badlogic.gdx.graphics.g2d.Sprite; import com.badlogic.gdx.graphics.g2d.SpriteBatch; +import com.badlogic.gdx.utils.Timer; /** * @@ -23,16 +24,34 @@ public class Titlescreen extends AbstractScreen{ BitmapFont font; SpriteBatch batch; - + Timer t; Sprite clicktostart; + boolean movement; public Titlescreen(Game game){ super(game); - + movement = true; batch = new SpriteBatch(); clicktostart = new Sprite(new Texture(Gdx.files.internal("clicktostart.png"))); clicktostart.setX(Gdx.graphics.getWidth() / 2 - clicktostart.getWidth() / 2); clicktostart.setY(Gdx.graphics.getHeight() / 2 - clicktostart.getHeight() / 2); + t = new Timer(); + + t.scheduleTask(new Timer.Task() { + @Override + public void run() { + if(clicktostart.getY() < Gdx.graphics.getHeight() * 0.4) + movement = true; + else if(clicktostart.getY() > Gdx.graphics.getHeight() * 0.5) + movement = false; + if(movement) + clicktostart.setY(clicktostart.getY() + 3); + else + clicktostart.setY(clicktostart.getY() - 3); + } + },0 , 0.035f); + + } @Override @@ -45,9 +64,11 @@ public class Titlescreen extends AbstractScreen{ Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); batch.begin(); + clicktostart.draw(batch); batch.end(); if(Gdx.input.justTouched()){ + dispose(); game.setScreen(new Levelscreen(game)); } } @@ -70,5 +91,6 @@ public class Titlescreen extends AbstractScreen{ @Override public void dispose() { + t.clear(); } }