目前,我正在尝试制作一个面板来管理我正在编写的游戏中的剪辑。当玩家点击鼠标时,它会高亮显示在屏幕右侧的剪辑,如果玩家在键盘上按下 H,它会在屏幕上显示一些帮助玩家的子弹。当我画这些帮助字符串时,我画了一个灰色的大方块,然后在上面画了黑色的文本。当我尝试清除它时(通过将图像重置为我的源文件中的空白图像),所有新的东西都被绘制在帮助屏幕的顶部,而不是帮助屏幕被清除。
public void refresh(){
overImg = World.imageBank.getImage("blank", -1).getSubimage(0, 0, 400, 400);
drawInfo();
drawClips();
drawLayers();
repaint();
}
imageBank 正是它听起来的样子,在初始化世界时绘制的一组图像。getImage("blank", -1) 返回我制作的具有空白 Alpha 通道的 1200、1200 图像,并且我使用它的较小版本。每次按下任何东西时都会调用此刷新方法,我无法理解为什么不重置图像。如果我应该提供任何其他代码,这可能是我的问题,请告诉我。