Java - 在屏幕上写文本

标签 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();

此代码返回一个错误。它表示图形类的构造函数未正确实现。

有什么想法吗?

最佳答案

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

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

参见:BasicGamerender

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

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

有关基本模板,请查看 here .

关于Java - 在屏幕上写文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19179848/

相关文章:

Java正则表达式标记忽略转义字符

java - Akka 2.3.6 中缺少 IOManager

java - 如何以编程方式告诉 Logback 重新加载配置

java - 无法从 Eclipse 中的构建路径导入任何引用的库

java - LWJGL:使用 "partial"轴的奇怪矩阵旋转效果

java - AtomicInteger 比同步慢

javascript - html2canvas 文本阴影错误

javascript - 图像上的 Canvas

java - 实现java鼠标监听器,自定义gui

javascript - Fabric.js 子类化 fabric.Group - 错误 : "Cannot read property ' async' of undefined"when load from JSON