在(java 游戏中使用 LWJGL 和 slick2D 绘制字符串无法正常工作
drawing Strings in the (java game using LWJGL and slick2D) is not working properly
我正在 Java 使用一些 openGL 库构建游戏。我几乎完成了申请,但我遇到了一些非常荒谬的问题。我需要做的就是将文本的默认颜色更改为其他颜色,在我的例子中是黑色。
整整一个多小时我都在尝试制作这个,每次我开始游戏时整个 window 都会变成那种颜色...我把代码放在那里,如果你们有的话我想考虑的想法。
import java.awt.Font;
import org.newdawn.slick.Color;
import org.newdawn.slick.TrueTypeFont;
import player.Player;
public class GameMenu {
private TrueTypeFont gameFont;
private Font font;
public GameMenu() {
font = new Font("Times New Roman", Font.BOLD, 24);
gameFont = new TrueTypeFont(font, false);
}
public void drawChangableText(int x, int y, String changableText) {
gameFont.drawString(x, y, changableText, Color.black);
}
public void update() {
drawChangableText(1330, 700, "Lives " + Player.lives);
drawChangableText(1330, 750, "Gold " + Player.gold);
}
}
然后我在某处进一步调用此更新方法。让我不要忘记提及,如果省略 drawString() 方法的 4. 参数,则一切正常,但屏幕上显示白色文本。
再一次,如果有人能提供帮助,我将不胜感激。也许你们中的一些人会将我的问题标记为重复,但从技术上讲它不是,有人遇到过类似的问题,但在他的情况下,他只是导入了错误的包。这是类似问题
的link
LWJGL Drawing colored text to the screen issue
您正在使用当前颜色绘制框架,在这种情况下,您对框架中的所有内容都使用 Color.black,而不仅仅是文本。
所以为了避免类似的事情,你可以这样做:
public void drawChangableText(int x, int y, String text) {
//pick your color
Color.black.bind();
//do the job
gameFont.drawString(x, y, text, Color.black);
//reset the color
Color.white.bind();
}
我正在 Java 使用一些 openGL 库构建游戏。我几乎完成了申请,但我遇到了一些非常荒谬的问题。我需要做的就是将文本的默认颜色更改为其他颜色,在我的例子中是黑色。
整整一个多小时我都在尝试制作这个,每次我开始游戏时整个 window 都会变成那种颜色...我把代码放在那里,如果你们有的话我想考虑的想法。
import java.awt.Font;
import org.newdawn.slick.Color;
import org.newdawn.slick.TrueTypeFont;
import player.Player;
public class GameMenu {
private TrueTypeFont gameFont;
private Font font;
public GameMenu() {
font = new Font("Times New Roman", Font.BOLD, 24);
gameFont = new TrueTypeFont(font, false);
}
public void drawChangableText(int x, int y, String changableText) {
gameFont.drawString(x, y, changableText, Color.black);
}
public void update() {
drawChangableText(1330, 700, "Lives " + Player.lives);
drawChangableText(1330, 750, "Gold " + Player.gold);
}
}
然后我在某处进一步调用此更新方法。让我不要忘记提及,如果省略 drawString() 方法的 4. 参数,则一切正常,但屏幕上显示白色文本。
再一次,如果有人能提供帮助,我将不胜感激。也许你们中的一些人会将我的问题标记为重复,但从技术上讲它不是,有人遇到过类似的问题,但在他的情况下,他只是导入了错误的包。这是类似问题
的linkLWJGL Drawing colored text to the screen issue
您正在使用当前颜色绘制框架,在这种情况下,您对框架中的所有内容都使用 Color.black,而不仅仅是文本。
所以为了避免类似的事情,你可以这样做:
public void drawChangableText(int x, int y, String text) {
//pick your color
Color.black.bind();
//do the job
gameFont.drawString(x, y, text, Color.black);
//reset the color
Color.white.bind();
}