0

我正在用 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();

这段代码返回一个错误。它说图形类的构造函数没有正确实现。

有任何想法吗?

4

2 回答 2

2

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

据我所知,对于一个基本游戏,你的控制类应该是扩展BasicGame的,它提供了一个render方法,你可以从中获取一个Graphics对象。

请参阅:BasicGame渲染

我想您需要做的是覆盖该方法,如下所示:

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

有关基本模板,请查看此处

于 2013-10-04T11:41:17.080 回答
0

您不能只是从头开始创建新的 Graphics 实例,并希望它会在您想要的地方绘制您想要的东西。

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

如果您想将 sime 文本放在屏幕上,LWJGL然后精确搜索,您会找到很多解决方案。甚至在youtube上。

于 2013-10-04T11:44:12.650 回答