Java - 在屏幕上写文本

时间:2013-10-04 11:15:48

标签: java canvas lwjgl slick2d

我正在用Java和LWJGL制作游戏。
基本上我想在屏幕上写我的游戏的fps,但我真的不明白我应该怎么做。

我在想它与Graphics类相关的东西,我是对的吗?

Graphics g = new Graphics();
g.setColor(Color.YELLOW);
g.setFont(new Font("Impact", Font.PLAIN, 20));
g.drawString(fps + " FPS", 20, 30);
g.dispose();

这段代码给我一个错误..就是说图形类的构造函数没有正确实现。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

要绘制,您需要原始Graphics对象的绘制句柄,而不是自己创建新对象。

据我所知,对于基本游戏,您的控制类应该扩展BasicGame,提供render方法,您可以从中获取Graphics对象。< / p>

请参阅:BasicGamerender

我想你需要做的是覆盖那个方法,如下所示:

public void render(GameContainer container, Graphics g) throws SlickException {
    //grab graphics g here and use it.
}

对于基本模板,请查看here

答案 1 :(得分:0)

你不能只是从头开始创建新的Graphics实例,并希望它能够绘制你想要的和你想要的地方。

  

图形上下文是从其他图形上下文获得的   通过在组件上调用getGraphics来创建。

如果你想用LWJGL将sime文本放在屏幕上,那么搜索确切,你会发现很多解决方案。即使在youtube