0

当我决定制作一个字体类和我自己的字体时,我在 Java 中鬼混。一切正常,但是当我在代码中输入“Hello World”时,程序显示“Hello Xorld!”。我尝试切换 X 和 W,但随后显示“Hello Yorld”,依此类推。有什么修复吗?

此外,当我尝试输入 Hello Xorld 时,它会输出“Hello Yorld”。

public class Font {
    private static String chars="ABCDEFGHIJKLMNOPQRSRTUVWXYZ      0123456789.,:;'\"!?$%()-=+/      ";

    public static void render (String msg,Screen screen,int x,int y,int colour){
        msg= msg.toUpperCase();

        for (int i=0;i<msg.length();i++) {
            int charIndex= chars.indexOf(msg.charAt(i));
            if (charIndex>=0)screen.render(x+(i*8), y, charIndex+30*32, colour);
        }
    }
}

在不同的班级:

Font.render("Hello World 0157",screen,0,0,Colours.get(000,-1,-1,555));
4

1 回答 1

3

在你的 char[] 数组中,你有这个:

....ABCDEFGHIJKLMNOPQRSRTUVWXYZ....      
.                      ^

请注意 S 之后的额外 R。将其更改为:

ABCDEFGHIJKLMNOPQRSTUVWXYZ

否则 S 之后的每个字母都将是一个错位。

于 2013-08-19T17:44:59.447 回答