From d4bcc1b1af696ab5cbc2447336b6420d97c94bca Mon Sep 17 00:00:00 2001 From: Tor Martin Wang <tmwang@stud.ntnu.no> Date: Fri, 24 Apr 2020 17:41:45 +0200 Subject: [PATCH] Made a leftover font scale with the device width. Completes issue #102 --- .../core/src/com/gameware/game/GameWare.java | 1 + .../sprites/bubbleWrapSprites/Bubble.java | 4 +++- .../colorRushSprites/ColorRushButton.java | 5 +++-- .../colorRushSprites/ColorRushTarget.java | 5 +++-- .../sprites/fruitSlicerSprites/Fruit.java | 3 ++- .../fruitSlicerSprites/SlicingCircle.java | 3 ++- .../pauseStateSprites/ConfirmationBox.java | 2 +- .../pauseStateSprites/PauseCircle.java | 2 +- .../pauseStateSprites/PauseMenuButton.java | 2 +- .../com/gameware/game/states/PauseState.java | 12 ++++++++---- .../game/states/games/BubbleWrapState.java | 2 +- .../game/states/games/ColorRushState.java | 4 ++-- .../game/states/games/FruitSlicerState.java | 19 +++++++++++-------- .../game/states/games/PlayStateUnion.java | 5 +++-- .../game/states/menus/MenuStateUnion.java | 10 +++++++--- .../states/menus/ViewTournamentState.java | 2 +- 16 files changed, 50 insertions(+), 31 deletions(-) diff --git a/frontend/core/src/com/gameware/game/GameWare.java b/frontend/core/src/com/gameware/game/GameWare.java index a9278ad..cedd96f 100644 --- a/frontend/core/src/com/gameware/game/GameWare.java +++ b/frontend/core/src/com/gameware/game/GameWare.java @@ -4,6 +4,7 @@ import com.badlogic.gdx.ApplicationAdapter; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.audio.Music; import com.badlogic.gdx.files.FileHandle; +import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.utils.Json; import com.badlogic.gdx.utils.JsonReader; diff --git a/frontend/core/src/com/gameware/game/sprites/bubbleWrapSprites/Bubble.java b/frontend/core/src/com/gameware/game/sprites/bubbleWrapSprites/Bubble.java index 5374aac..3374f9b 100644 --- a/frontend/core/src/com/gameware/game/sprites/bubbleWrapSprites/Bubble.java +++ b/frontend/core/src/com/gameware/game/sprites/bubbleWrapSprites/Bubble.java @@ -1,4 +1,4 @@ -package com.gameware.game.sprites; +package com.gameware.game.sprites.bubbleWrapSprites; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.audio.Sound; @@ -7,6 +7,8 @@ import com.gameware.game.GameWare; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.math.Vector3; +import com.gameware.game.sprites.Sprite; + import java.util.ArrayList; import java.util.Random; diff --git a/frontend/core/src/com/gameware/game/sprites/colorRushSprites/ColorRushButton.java b/frontend/core/src/com/gameware/game/sprites/colorRushSprites/ColorRushButton.java index 19f7370..6cf67a1 100644 --- a/frontend/core/src/com/gameware/game/sprites/colorRushSprites/ColorRushButton.java +++ b/frontend/core/src/com/gameware/game/sprites/colorRushSprites/ColorRushButton.java @@ -1,4 +1,4 @@ -package com.gameware.game.sprites; +package com.gameware.game.sprites.colorRushSprites; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.audio.Sound; @@ -6,8 +6,9 @@ import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.math.Vector3; import com.gameware.game.GameWare; +import com.gameware.game.sprites.Sprite; -public class ColorRushButton extends Sprite{ +public class ColorRushButton extends Sprite { private Texture mainTexture; private Texture disabledTexture; private int colorNum; diff --git a/frontend/core/src/com/gameware/game/sprites/colorRushSprites/ColorRushTarget.java b/frontend/core/src/com/gameware/game/sprites/colorRushSprites/ColorRushTarget.java index cbd0da4..f637e5e 100644 --- a/frontend/core/src/com/gameware/game/sprites/colorRushSprites/ColorRushTarget.java +++ b/frontend/core/src/com/gameware/game/sprites/colorRushSprites/ColorRushTarget.java @@ -1,11 +1,12 @@ -package com.gameware.game.sprites; +package com.gameware.game.sprites.colorRushSprites; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.math.Vector3; +import com.gameware.game.sprites.Sprite; -public class ColorRushTarget extends Sprite{ +public class ColorRushTarget extends Sprite { private int nextHeight; private Vector3 velocity; private Texture mainTexture; diff --git a/frontend/core/src/com/gameware/game/sprites/fruitSlicerSprites/Fruit.java b/frontend/core/src/com/gameware/game/sprites/fruitSlicerSprites/Fruit.java index 6f23461..8489edb 100644 --- a/frontend/core/src/com/gameware/game/sprites/fruitSlicerSprites/Fruit.java +++ b/frontend/core/src/com/gameware/game/sprites/fruitSlicerSprites/Fruit.java @@ -1,10 +1,11 @@ -package com.gameware.game.sprites; +package com.gameware.game.sprites.fruitSlicerSprites; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.math.Vector3; +import com.gameware.game.sprites.Sprite; public class Fruit extends Sprite { diff --git a/frontend/core/src/com/gameware/game/sprites/fruitSlicerSprites/SlicingCircle.java b/frontend/core/src/com/gameware/game/sprites/fruitSlicerSprites/SlicingCircle.java index 2c3aa93..fb49b4f 100644 --- a/frontend/core/src/com/gameware/game/sprites/fruitSlicerSprites/SlicingCircle.java +++ b/frontend/core/src/com/gameware/game/sprites/fruitSlicerSprites/SlicingCircle.java @@ -1,9 +1,10 @@ -package com.gameware.game.sprites; +package com.gameware.game.sprites.fruitSlicerSprites; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.math.Vector3; +import com.gameware.game.sprites.Sprite; public class SlicingCircle extends Sprite { private Texture slicingVFX; diff --git a/frontend/core/src/com/gameware/game/sprites/pauseStateSprites/ConfirmationBox.java b/frontend/core/src/com/gameware/game/sprites/pauseStateSprites/ConfirmationBox.java index 7b04bc8..f876019 100644 --- a/frontend/core/src/com/gameware/game/sprites/pauseStateSprites/ConfirmationBox.java +++ b/frontend/core/src/com/gameware/game/sprites/pauseStateSprites/ConfirmationBox.java @@ -1,4 +1,4 @@ -package com.gameware.game.sprites.PauseStateSprites; +package com.gameware.game.sprites.pauseStateSprites; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Texture; diff --git a/frontend/core/src/com/gameware/game/sprites/pauseStateSprites/PauseCircle.java b/frontend/core/src/com/gameware/game/sprites/pauseStateSprites/PauseCircle.java index 6261724..9a9fe52 100644 --- a/frontend/core/src/com/gameware/game/sprites/pauseStateSprites/PauseCircle.java +++ b/frontend/core/src/com/gameware/game/sprites/pauseStateSprites/PauseCircle.java @@ -1,4 +1,4 @@ -package com.gameware.game.sprites.PauseStateSprites; +package com.gameware.game.sprites.pauseStateSprites; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Color; diff --git a/frontend/core/src/com/gameware/game/sprites/pauseStateSprites/PauseMenuButton.java b/frontend/core/src/com/gameware/game/sprites/pauseStateSprites/PauseMenuButton.java index 30ba7f5..001e3b3 100644 --- a/frontend/core/src/com/gameware/game/sprites/pauseStateSprites/PauseMenuButton.java +++ b/frontend/core/src/com/gameware/game/sprites/pauseStateSprites/PauseMenuButton.java @@ -1,4 +1,4 @@ -package com.gameware.game.sprites.PauseStateSprites; +package com.gameware.game.sprites.pauseStateSprites; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch; diff --git a/frontend/core/src/com/gameware/game/states/PauseState.java b/frontend/core/src/com/gameware/game/states/PauseState.java index b59254c..ea14fa9 100644 --- a/frontend/core/src/com/gameware/game/states/PauseState.java +++ b/frontend/core/src/com/gameware/game/states/PauseState.java @@ -5,10 +5,10 @@ import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.gameware.game.GameWare; -import com.gameware.game.sprites.ConfirmationBox; +import com.gameware.game.sprites.pauseStateSprites.ConfirmationBox; import com.gameware.game.sprites.LoadingText; -import com.gameware.game.sprites.PauseCircle; -import com.gameware.game.sprites.PauseMenuButton; +import com.gameware.game.sprites.pauseStateSprites.PauseCircle; +import com.gameware.game.sprites.pauseStateSprites.PauseMenuButton; import com.gameware.game.states.games.PlayStateUnion; import java.util.ArrayList; @@ -231,5 +231,9 @@ public class PauseState extends State { } @Override - public void reset() { } + public void reset() { + this.needsConfirmation = false; + this.countdownStarted = false; + this.countdownDurationLeft = 3f; + } } diff --git a/frontend/core/src/com/gameware/game/states/games/BubbleWrapState.java b/frontend/core/src/com/gameware/game/states/games/BubbleWrapState.java index b7b15e8..a0df27a 100644 --- a/frontend/core/src/com/gameware/game/states/games/BubbleWrapState.java +++ b/frontend/core/src/com/gameware/game/states/games/BubbleWrapState.java @@ -3,7 +3,7 @@ package com.gameware.game.states.games; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch; -import com.gameware.game.sprites.Bubble; +import com.gameware.game.sprites.bubbleWrapSprites.Bubble; import com.gameware.game.states.GameStateManager; import java.util.ArrayList; diff --git a/frontend/core/src/com/gameware/game/states/games/ColorRushState.java b/frontend/core/src/com/gameware/game/states/games/ColorRushState.java index 17127b6..21a2006 100644 --- a/frontend/core/src/com/gameware/game/states/games/ColorRushState.java +++ b/frontend/core/src/com/gameware/game/states/games/ColorRushState.java @@ -2,8 +2,8 @@ package com.gameware.game.states.games; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch; -import com.gameware.game.sprites.ColorRushButton; -import com.gameware.game.sprites.ColorRushTarget; +import com.gameware.game.sprites.colorRushSprites.ColorRushButton; +import com.gameware.game.sprites.colorRushSprites.ColorRushTarget; import com.gameware.game.states.GameStateManager; import java.util.ArrayList; diff --git a/frontend/core/src/com/gameware/game/states/games/FruitSlicerState.java b/frontend/core/src/com/gameware/game/states/games/FruitSlicerState.java index 7861261..c337e16 100644 --- a/frontend/core/src/com/gameware/game/states/games/FruitSlicerState.java +++ b/frontend/core/src/com/gameware/game/states/games/FruitSlicerState.java @@ -6,8 +6,8 @@ import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.math.Vector3; import com.gameware.game.GameWare; -import com.gameware.game.sprites.Fruit; -import com.gameware.game.sprites.SlicingCircle; +import com.gameware.game.sprites.fruitSlicerSprites.Fruit; +import com.gameware.game.sprites.fruitSlicerSprites.SlicingCircle; import com.gameware.game.states.GameStateManager; import java.util.ArrayList; @@ -35,6 +35,8 @@ public class FruitSlicerState extends PlayStateUnion { super(gsm); super.setTotalGameTime(60f); super.screenshot = new Texture(Gdx.files.internal("gameTextures/FruitSlicer/FruitSlicerPhotoEdit.png")); + super.setFontColorWhite(); + super.setPauseButtonWhite(); this.sliceWhooshSound = Gdx.audio.newSound(Gdx.files.internal("sfx/FruitSlicerWhooshSound.mp3")); this.sliceSquishSound = Gdx.audio.newSound(Gdx.files.internal("sfx/FruitSlicerSquishSound.mp3")); @@ -78,6 +80,12 @@ public class FruitSlicerState extends PlayStateUnion { this.oldTouchPosition.x = touchX; this.oldTouchPosition.y = touchY; } + + + // Adds new slicing circles if the user is touching + if(Gdx.input.isTouched()) { + this.slicingCircles.add(new SlicingCircle(Gdx.input.getX(), Gdx.graphics.getHeight() - Gdx.input.getY(), this.slicingCircleVFX)); + } } @Override @@ -87,11 +95,6 @@ public class FruitSlicerState extends PlayStateUnion { this.handleInput(); - // Adds new slicing circles if the user is touching - if(Gdx.input.isTouched()) { - this.slicingCircles.add(new SlicingCircle(Gdx.input.getX(), Gdx.graphics.getHeight() - Gdx.input.getY(), this.slicingCircleVFX)); - } - // Updates the slicing circles for(SlicingCircle slicingCircle : this.slicingCircles){ slicingCircle.update(dt); @@ -165,7 +168,7 @@ public class FruitSlicerState extends PlayStateUnion { // Four different emit modes: from left, from right, from entire bottom, and from bottom center with different velocity angles int emitMode = (int) (Math.random() * 4); Fruit fruit; - Texture fruitTexture = this.fruitTextures.get((int) (Math.random() * 20)); + Texture fruitTexture = this.fruitTextures.get((int) (Math.random() * this.fruitTextures.size())); Vector3 velocity = new Vector3(Gdx.graphics.getWidth() * 3 / 4, 0, 0); int x, y, emitAngle; diff --git a/frontend/core/src/com/gameware/game/states/games/PlayStateUnion.java b/frontend/core/src/com/gameware/game/states/games/PlayStateUnion.java index fac9149..a70a923 100644 --- a/frontend/core/src/com/gameware/game/states/games/PlayStateUnion.java +++ b/frontend/core/src/com/gameware/game/states/games/PlayStateUnion.java @@ -71,7 +71,7 @@ public abstract class PlayStateUnion extends State { // Default font (black color) font = new BitmapFont(); font.setColor(Color.BLACK); - font.getData().setScale((float) (Gdx.graphics.getWidth()/GameWare.WIDTH*1.75)); + font.getData().setScale((float) (Gdx.graphics.getWidth()/GameWare.WIDTH*2.5)); } // Override methods @@ -139,12 +139,13 @@ public abstract class PlayStateUnion extends State { if(this.timeLeftVisible && this.totalGameTime > 0f) { sb.begin(); // Time left - this.font.draw(sb, "Time: " + String.valueOf(Math.max(Math.round((this.totalGameTime - this.currentDuration) * 100), 0.00) / 100.0), Gdx.graphics.getWidth() / 40, Gdx.graphics.getHeight() - Gdx.graphics.getHeight() / 40 - Gdx.graphics.getHeight() / 60); + this.font.draw(sb, "Time: " + String.valueOf(Math.max(Math.round((this.totalGameTime - this.currentDuration) * 100), 0.00) / 100.0), Gdx.graphics.getWidth() / 40, Gdx.graphics.getHeight() - Gdx.graphics.getHeight() / 20); sb.end(); } if(this.currentScoreVisible){ sb.begin(); + //Score this.font.draw(sb, "Score: " + String.valueOf(this.score), Gdx.graphics.getWidth() / 40, Gdx.graphics.getHeight() - Gdx.graphics.getHeight() / 100); sb.end(); diff --git a/frontend/core/src/com/gameware/game/states/menus/MenuStateUnion.java b/frontend/core/src/com/gameware/game/states/menus/MenuStateUnion.java index f0ec2f8..e06108f 100644 --- a/frontend/core/src/com/gameware/game/states/menus/MenuStateUnion.java +++ b/frontend/core/src/com/gameware/game/states/menus/MenuStateUnion.java @@ -34,9 +34,10 @@ import com.gameware.game.states.State; public abstract class MenuStateUnion extends State { // Font - protected final float fontScale = 3f; - protected final float tinierTitleFontBigScale = 1.5f; - protected final float titleFontBigScale = 2.5f; + protected final float scaleRatio = Float.valueOf(Gdx.graphics.getWidth()) / 1080f; + protected final float fontScale = 3f * scaleRatio; + protected final float tinierTitleFontBigScale = 1.5f * scaleRatio; + protected final float titleFontBigScale = 2.5f * scaleRatio; // Spacing protected final float spacingLittle = Gdx.graphics.getHeight()/50; @@ -73,7 +74,10 @@ public abstract class MenuStateUnion extends State { public MenuStateUnion(GameStateManager gsm){ super(gsm); + + // Scales the font according to the ratio between the screen width and the default 1080 width skin.getFont("font").getData().setScale(fontScale); + skin.getFont("font-big").getData().setScale(this.scaleRatio); // Add sound effects this.checkBoxSound = Gdx.audio.newSound(Gdx.files.internal("sfx/check_box.ogg")); diff --git a/frontend/core/src/com/gameware/game/states/menus/ViewTournamentState.java b/frontend/core/src/com/gameware/game/states/menus/ViewTournamentState.java index ce794de..b37ed58 100644 --- a/frontend/core/src/com/gameware/game/states/menus/ViewTournamentState.java +++ b/frontend/core/src/com/gameware/game/states/menus/ViewTournamentState.java @@ -139,7 +139,7 @@ public class ViewTournamentState extends MenuStateUnion { rootTable.add(innerTable).colspan(2); rootTable.row(); rootTable.add(makeBackBtn()).expand().bottom().left(); - roundDeadline.setFontScale(0.8f); + roundDeadline.setFontScale(0.8f * super.scaleRatio); rootTable.add(roundDeadline).expand().bottom().right(); stage.addActor(rootTable); -- GitLab