编程语言
首页 > 编程语言> > java-避免重画整个迷宫的最佳方法?

java-避免重画整个迷宫的最佳方法?

作者:互联网

我正在使用Java,swing和Java2D进行迷宫生成的项目.我是Java2D的新手,所以如果这个问题是新手,请原谅.

基本上,我有一个成功生成的迷宫.我希望在已设置并正确覆盖PaintComponent的自定义JPanel上绘制此迷宫.我现在遇到的问题是我目前有能力绘制迷宫,但是每次重新绘制时,迷宫都会消失.我已通过在每次调用repaint()时重新绘制迷宫来解决此问题,但这似乎效率极低.由于迷宫没有改变,为什么我必须重绘它?

所以我的问题是:有没有办法“缓存”迷宫的图形,这样我就不必浪费时间重新绘制它了?我可以看到每次都会重新绘制它,因为异常大的迷宫是减速的主要来源.

谢谢!

解决方法:

将迷宫绘制到BufferedImage.然后在您的paintComponent()方法中仅绘制BufferedImage.摆动将确定是否需要重新粉刷整个迷宫或迷宫的一部分.

有关在BufferedImage上绘画的示例,请参见Custom Painting Approaches的DrawOnImage示例.

标签:java-2d,swing,maze,java
来源: https://codeday.me/bug/20191123/2066032.html