Mercurial > hg > ristipolku
changeset 178:981a8e20b363
Implement alternative button graphics support.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 16 Mar 2017 10:45:39 +0200 |
parents | 9f04e8ab180a |
children | ac5cf78a1cd2 |
files | game/IDMButton.java |
diffstat | 1 files changed, 18 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/game/IDMButton.java Thu Mar 16 10:45:13 2017 +0200 +++ b/game/IDMButton.java Thu Mar 16 10:45:39 2017 +0200 @@ -16,17 +16,17 @@ { enum State { FOCUSED, PRESSED, NORMAL } State state; - static BufferedImage imgOrigUnpressed, imgOrigPressed; - static BufferedImage imgUnpressed, imgPressed; + BufferedImage imgOrigUnpressed, imgOrigPressed; + BufferedImage imgUnpressed, imgPressed; Font font; FontMetrics metrics; String text; boolean active; - public IDMButton(IDMPoint pos, int keyCode, Font font, String text) + public IDMButton(IDMPoint pos, String prefix, int keyCode, Font font, String text) { super(pos); - loadImages(); + loadImages(prefix); setSize(imgOrigUnpressed.getWidth(), imgOrigUnpressed.getHeight()); setScale(1, 1); @@ -38,22 +38,30 @@ active = false; } + public IDMButton(IDMPoint pos, int keyCode, Font font, String text) + { + this(pos, "button1", keyCode, font, text); + } + + public IDMButton(float x, float y, String prefix, int keyCode, Font font, String text) + { + this(new IDMPoint(x, y), prefix, keyCode, font, text); + } + public IDMButton(float x, float y, int keyCode, Font font, String text) { this(new IDMPoint(x, y), keyCode, font, text); } - private static void loadImages() + + public void loadImages(String prefix) { - if (imgUnpressed != null && imgPressed != null) - return; - try { - ResourceLoader res = new ResourceLoader("graphics/button1_up.png"); + ResourceLoader res = new ResourceLoader("graphics/"+ prefix +"_up.png"); imgOrigUnpressed = ImageIO.read(res.getStream()); - res = new ResourceLoader("graphics/button1_down.png"); + res = new ResourceLoader("graphics/"+ prefix +"_down.png"); imgOrigPressed = ImageIO.read(res.getStream()); } catch (IOException e)