fixes and finalises die faces

This commit is contained in:
Rosia E Evans 2024-04-20 16:38:07 +01:00
parent 2544da0313
commit 65377d8384
4 changed files with 25 additions and 9 deletions

View file

@ -29,6 +29,17 @@ public class Die extends Actor {
shape = new Rectangle(); shape = new Rectangle();
} }
public Die(float x, float y, float width, float height) {
int[] pips = {4, 6, 5, 1, 2, 3};
for (int i = 0; i < faces.length; i++) {
faces[i] = new Face(pips[i]);
faces[i].setPosition(x, y);
faces[i].setSize(width, height);
}
shape = new Rectangle(x, y, width, height);
}
public void setPosition(float x, float y){ public void setPosition(float x, float y){
shape.setX(x); shape.setX(x);
shape.setY(y); shape.setY(y);

View file

@ -12,7 +12,7 @@ import java.util.List;
public class Face extends Actor{ public class Face extends Actor{
private Rectangle shape; private Rectangle shape = new Rectangle();
private final List<Pip> pips = new ArrayList<>(); private final List<Pip> pips = new ArrayList<>();
@ -77,18 +77,19 @@ public class Face extends Actor{
shape.setSize(w, h); shape.setSize(w, h);
} }
public void setBlankFaceSprite(Texture sprite){ public static void setBlankFaceSprite(Texture sprite){
blankFaceSprite = sprite; blankFaceSprite = sprite;
} }
public void setPipSprite(Texture sprite){ public static void setPipSprite(Texture sprite){
pipSprite = sprite; pipSprite = sprite;
} }
public Vector2 getPipLocationFromPercentage(Vector2 percentages) public Vector2 getPipLocationFromPercentage(Vector2 percentages)
{ {
Vector2 position = new Vector2(shape.x + (shape.width*percentages.x/100f) + (float)pipSprite.getWidth()/2, Vector2 position = new Vector2(
shape.y + shape.width*percentages.y/100f + (float)pipSprite.getHeight()/2); shape.x + (shape.width*percentages.x/100f) - (float)pipSprite.getWidth()/2,
shape.y + shape.width*percentages.y/100f - (float)pipSprite.getHeight()/2);
return position; return position;
} }

View file

@ -33,8 +33,11 @@ public class Game extends ApplicationAdapter {
font = new BitmapFont(); font = new BitmapFont();
img = new Texture("badlogic.jpg"); img = new Texture("badlogic.jpg");
for (int i = 0; i < 5; i++) { Face.setBlankFaceSprite(new Texture("blank_die_face.png"));
dice.add(new Die()); Face.setPipSprite(new Texture("pip.png"));
for (int i = 1; i <= 5; i++) {
dice.add(new Die((i*80), 20, 64, 64));
} }
} }
@ -68,8 +71,7 @@ public class Game extends ApplicationAdapter {
//TODO debug //TODO debug
int x = 100; int x = 100;
for (Die die : dice) { for (Die die : dice) {
batch.setColor(Color.WHITE); die.render(batch);
font.draw(batch, String.valueOf(die.getFaceValue()), x += 50, 100);
} }
//----- //-----

View file

@ -11,6 +11,8 @@ public class DesktopLauncher {
Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration(); Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
config.setForegroundFPS(60); config.setForegroundFPS(60);
config.setTitle("GameJam"); config.setTitle("GameJam");
config.setWindowedMode(800, 480);
config.setResizable(false);
new Lwjgl3Application(new Game(), config); new Lwjgl3Application(new Game(), config);
} }