1
0

Add font for game text

This commit is contained in:
Victor 2014-03-17 10:45:17 +02:00
parent 46aaa81f9d
commit 6753ddc1c1

View File

@ -7,18 +7,24 @@ import com.annimon.turrets.network.NetworkListener;
import com.annimon.turrets.network.SocketHelper; import com.annimon.turrets.network.SocketHelper;
import com.annimon.turrets.util.Util; import com.annimon.turrets.util.Util;
import java.awt.Color; import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics; import java.awt.Graphics;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.IOException; import java.io.IOException;
import javax.swing.UIManager;
/** /**
* *
* @author aNNiMON * @author aNNiMON
*/ */
public class GameCanvas extends DoubleBufferedCanvas implements Runnable, NetworkListener { public class GameCanvas extends DoubleBufferedCanvas implements Runnable, NetworkListener {
private static final String WAIT_MESSAGE = "Please, wait...";
private final BufferedImage background; private final BufferedImage background;
private final Font font;
private Terrain terrain; private Terrain terrain;
private Turret serverTurret, clientTurret; private Turret serverTurret, clientTurret;
private Turret instanceTurret; private Turret instanceTurret;
@ -34,20 +40,24 @@ public class GameCanvas extends DoubleBufferedCanvas implements Runnable, Networ
background = new BufferedImage(Constants.WIDTH, Constants.HEIGHT, BufferedImage.TYPE_INT_RGB); background = new BufferedImage(Constants.WIDTH, Constants.HEIGHT, BufferedImage.TYPE_INT_RGB);
initBackground(); initBackground();
font = new Font("Times New Roman", Font.PLAIN, 24);
gameStarted = false; gameStarted = false;
} }
@Override @Override
protected void draw(Graphics2D g) { protected void draw(Graphics2D g) {
final FontMetrics metrics = g.getFontMetrics(font);
g.drawImage(background, 0, 0, null); g.drawImage(background, 0, 0, null);
g.setFont(font);
if (gameStarted) { if (gameStarted) {
terrain.draw(g); terrain.draw(g);
serverTurret.draw(g); serverTurret.draw(g);
clientTurret.draw(g); clientTurret.draw(g);
} else { } else {
g.setColor(Color.WHITE); g.setColor(Color.WHITE);
g.drawString("Please, wait...", Constants.WIDTH - 100, Constants.HEIGHT - 20); final int x = (Constants.WIDTH - metrics.stringWidth(WAIT_MESSAGE)) / 2;
g.drawString(WAIT_MESSAGE, x, Constants.HEIGHT - metrics.getHeight() * 2);
} }
} }