好的,请看看这个显示问题的视频(长达3秒......):
首次进入房间时,看看图像是如何闪烁的?
以下是我如何设置图像(它们是从.jar文件中的tiles
文件夹中提取的)
for (int i = 0; i < 522; i++) {
tiles[i] = tk.getImage(this.getClass().getResource(String.format("tiles/t%d.png", i)));
}
以下是他们的绘画方式:
for (row = 0; row < board.length; row++) {
for (col = 0; col < board[row].length; col++) {
int index = board[row][col];
g.drawImage(tiles[index], 32 * col, 32 * row, this);
}
}
如何停止闪烁......
答案 0 :(得分:1)
Toolkit.getImage(URL)
方法是异步的,522张图片可能需要花费一些时间才能加载。将它们添加到MediaTracker
或使用ImageIO.read(URL)
代替。
答案 1 :(得分:0)
嗯。虽然你的代码工作,我认为你没有子类编写自定义paint()代码等。检查这个link
绘制然后显示:)虽然看起来很不错!