繁体   English   中英

为什么我的自定义字体数组出现ArrayIndexOutOfBoundsException?

[英]Why am I getting ArrayIndexOutOfBoundsException with my custom font array?

我正在为#towerjam开发游戏,并且需要渲染我制作的某些字体。 这是我正在使用的代码。

public static void render(String msg, Graphics g, int x, int y) {
    msg.toUpperCase();
    char[] msgArray = msg.toCharArray();
    for (char c : msgArray) {
        System.out.println();
        g.drawImage(letters[c-65], x, y, Tile.DRAW_SIZE, Tile.DRAW_SIZE, null);
        x+=Tile.DRAW_SIZE;
    }
}

数组letters是从我的Spritesheet中裁剪出来的BufferedImages数组。 现在,它给了我一个ArrayIndexOutOfBoundsException ,我不知道为什么。

字符串在Java中是不可变的(就像许多其他语言一样),因此自msg.toUpperCase(); 无法编辑原始字符串,它使用大写字符创建一个新字符串并返回它

如果要将此返回的字符串存储在msg只需将其重新分配回msg

msg = msg.toUpperCase();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM