From 6e6a7ae32fa07c4e436070e2d742873a5a62083a Mon Sep 17 00:00:00 2001 From: GiaQuang Date: Tue, 30 Sep 2025 17:16:08 +0700 Subject: [PATCH] feat: add buttons files --- .../moongazer/buttons/IngameButton.java | 11 ++++ .../moongazer/buttons/MenuButton.java | 39 ++++------- .../vibecoders/moongazer/scenes/MainMenu.java | 61 ++++++++++++++++-- app/src/main/resources/icons/MenuIcon.png | Bin 0 -> 29874 bytes 4 files changed, 80 insertions(+), 31 deletions(-) create mode 100644 app/src/main/java/org/vibecoders/moongazer/buttons/IngameButton.java create mode 100644 app/src/main/resources/icons/MenuIcon.png diff --git a/app/src/main/java/org/vibecoders/moongazer/buttons/IngameButton.java b/app/src/main/java/org/vibecoders/moongazer/buttons/IngameButton.java new file mode 100644 index 0000000..0a0c082 --- /dev/null +++ b/app/src/main/java/org/vibecoders/moongazer/buttons/IngameButton.java @@ -0,0 +1,11 @@ +package org.vibecoders.moongazer.buttons; + +import com.badlogic.gdx.scenes.scene2d.ui.ImageButton; + +public class IngameButton extends BaseButton { + private ImageButton imageButton; + + public IngameButton() { + + } +} diff --git a/app/src/main/java/org/vibecoders/moongazer/buttons/MenuButton.java b/app/src/main/java/org/vibecoders/moongazer/buttons/MenuButton.java index b454a69..bc18bd6 100644 --- a/app/src/main/java/org/vibecoders/moongazer/buttons/MenuButton.java +++ b/app/src/main/java/org/vibecoders/moongazer/buttons/MenuButton.java @@ -1,46 +1,31 @@ package org.vibecoders.moongazer.buttons; +import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.BitmapFont; -import com.badlogic.gdx.scenes.scene2d.ui.Skin; +import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.scenes.scene2d.ui.TextButton; +import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable; public class MenuButton extends BaseButton { private TextButton textButton; public MenuButton(String text, BitmapFont font) { - this(text, font, Color.WHITE, Color.YELLOW); - } - - public MenuButton(String text, BitmapFont font, Color normalColor, Color hoverColor) { + Texture buttonTexture = new Texture(Gdx.files.internal("icons/MenuIcon.png")); + TextureRegionDrawable buttonDrawable = new TextureRegionDrawable(new TextureRegion(buttonTexture)); TextButton.TextButtonStyle style = new TextButton.TextButtonStyle(); style.font = font; - style.fontColor = normalColor; - style.overFontColor = hoverColor; - style.downFontColor = hoverColor; + style.fontColor = Color.BLACK; + style.overFontColor = Color.BLUE; + style.downFontColor = Color.BLUE; - // Transparent backgrounds - style.up = null; - style.down = null; - style.over = null; - style.checked = null; + style.up = buttonDrawable; + style.down = buttonDrawable; + style.over = buttonDrawable; textButton = new TextButton(text, style); - - // Add the text button as an actor to this button this.actor = textButton; } - - public TextButton getTextButton() { - return textButton; - } - - public void setText(String text) { - textButton.setText(text); - } - - public String getText() { - return textButton.getText().toString(); - } } \ No newline at end of file diff --git a/app/src/main/java/org/vibecoders/moongazer/scenes/MainMenu.java b/app/src/main/java/org/vibecoders/moongazer/scenes/MainMenu.java index 65cd246..06c720a 100644 --- a/app/src/main/java/org/vibecoders/moongazer/scenes/MainMenu.java +++ b/app/src/main/java/org/vibecoders/moongazer/scenes/MainMenu.java @@ -2,8 +2,10 @@ package org.vibecoders.moongazer.scenes; import static org.vibecoders.moongazer.Constants.*; +import com.badlogic.gdx.scenes.scene2d.InputEvent; import com.badlogic.gdx.scenes.scene2d.Stage; import com.badlogic.gdx.scenes.scene2d.ui.Table; +import com.badlogic.gdx.scenes.scene2d.utils.ClickListener; import org.vibecoders.moongazer.buttons.MenuButton; import org.vibecoders.moongazer.managers.Assets; import org.vibecoders.moongazer.Game; @@ -24,10 +26,61 @@ public class MainMenu extends Scene { var font = Assets.getFont("ui", 24); textLabel = new Label("Moongazer", new LabelStyle(font, Color.BLACK)); textLabel.setPosition(WINDOW_WIDTH / 2f - textLabel.getWidth() / 2f, WINDOW_HEIGHT / 2f - textLabel.getHeight() / 2f); + + MenuButton playButton = new MenuButton("Play", font); + MenuButton loadButton = new MenuButton("Load", font); + MenuButton settingsButton = new MenuButton("Settings", font); + MenuButton exitButton = new MenuButton("Exit", font); + + int buttonWidth = 220; + int buttonHeight = 65; + playButton.setSize(buttonWidth, buttonHeight); + loadButton.setSize(buttonWidth, buttonHeight); + settingsButton.setSize(buttonWidth, buttonHeight); + exitButton.setSize(buttonWidth, buttonHeight); + + int centerX = WINDOW_WIDTH / 2 - buttonWidth / 2; + int startY = WINDOW_HEIGHT / 2 - buttonHeight / 2; + int buttonSpacing = 50; + + playButton.setPosition(centerX, startY); + loadButton.setPosition(centerX, startY - buttonSpacing); + settingsButton.setPosition(centerX, startY - buttonSpacing * 2); + exitButton.setPosition(centerX, startY - buttonSpacing * 3); + + playButton.getActor().addListener(new ClickListener() { + @Override + public void clicked(InputEvent event, float x, float y) { + System.out.println("Play clicked"); + } + }); + + loadButton.getActor().addListener(new ClickListener() { + @Override + public void clicked(InputEvent event, float x, float y) { + System.out.println("Load clicked"); + } + }); + + settingsButton.getActor().addListener(new ClickListener() { + @Override + public void clicked(InputEvent event, float x, float y) { + System.out.println("Settings clicked"); + } + }); + + exitButton.getActor().addListener(new ClickListener() { + @Override + public void clicked(InputEvent event, float x, float y) { + System.out.println("Exit clicked"); + } + }); + game.root.addActor(textLabel); - MenuButton startButton = new MenuButton("Start", font); - startButton.getActor().setPosition(WINDOW_WIDTH / 2f, WINDOW_HEIGHT / 2f); - game.root.addActor(startButton.getActor()); + game.root.addActor(playButton.getActor()); + game.root.addActor(loadButton.getActor()); + game.root.addActor(settingsButton.getActor()); + game.root.addActor(exitButton.getActor()); } /** * Renders the main menu scene. @@ -35,7 +88,7 @@ public class MainMenu extends Scene { */ @Override public void render(SpriteBatch batch) { - batch.draw(TEXTURE_BLACK, 0, 0, WINDOW_WIDTH, WINDOW_HEIGHT); + batch.draw(TEXTURE_WHITE, 0, 0, WINDOW_WIDTH, WINDOW_HEIGHT); // Unneeded as using Scene2D Stage to render the label // textLabel.draw(batch, 1.0f); } diff --git a/app/src/main/resources/icons/MenuIcon.png b/app/src/main/resources/icons/MenuIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..0802ffb1ac1c97a4ee38f366049f8a30d23707ff GIT binary patch literal 29874 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

03Qi$ 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 AIRF3v literal 0 HcmV?d00001