Я пытаюсь вставить шрифт TTF, а затем использовать рисовать его с помощью Grapics2D. Я смог создать шрифт, но я не совсем уверен, как передать шрифт в setFont. Я делаю новый шрифт здесь, который не бросает никаких исключений:Встраивание TTF и использование с g2d
private Font pixel = Font.createFont(Font.TRUETYPE_FONT, this.getClass().getResourceAsStream("font/amora.ttf"));
Но я не могу понять, как сделать это с SetFont();
Вот мой код:
private static final long serialVersionUID = 1L;
private Timer timer;
private Char Char;
private Font pixel = Font.createFont(Font.TRUETYPE_FONT, this.getClass().getResourceAsStream("font/amora.ttf")); <<<--------
public Board() throws FontFormatException, IOException {
addKeyListener(new TAdapter());
setFocusable(true);
setBackground(Color.BLACK);
setDoubleBuffered(true);
Char = new Char();
timer = new Timer(5, this);
timer.start();
}
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D)g;
g2d.drawImage(Char.getImage(), Char.getX(), Char.getY(), this);
g.setColor(Color.white);
g.setFont(What goes here?); // <------------
g.drawString("Amora Engine rev25 (acetech09)", 10, 20);
g.drawString(Char.getDebugStats(0), 10, 40);
g.drawString(Char.getDebugStats(1), 10, 60);
Toolkit.getDefaultToolkit().sync();
g.dispose();
}
public void actionPerformed(ActionEvent e) {
Char.move();
repaint();
}
}
Любая помощь будет принята с благодарностью. Благодарю.
'g.setFont (/ * Что здесь происходит? * /);' ... 'pixel'? – MadProgrammer
Один из пиксельных методов, похоже. Я просто не могу понять их. – user2720349
На самом деле, только пиксель действительно работает ... но он делает шрифт ровно в 1 пиксель, поэтому я не видел его пока только сейчас. Я предполагаю, что один из этих методов дает ему правильный размер. – user2720349