【发布时间】:2011-02-04 00:56:00
【问题描述】:
我正在用 Java + Swing 创建一个简单的迷宫游戏。游戏在屏幕上绘制一个随机的迷宫,在中间放置一个人物,然后玩家应该通过箭头键移动人物来找到出路。至于现在,我使用纯色背景并使用 Graphics.drawLine() 绘制迷宫的墙壁。我在 .gif 文件中有一个图形的自定义图片,我将其作为 BufferedImage 对象加载。
但是,我希望玩家一次只能看到迷宫的一部分,并且随着玩家四处移动,屏幕应该跟随游戏中的图形。我计划通过在创建整个迷宫时创建整个迷宫的 Image 对象来做到这一点,然后在图形的当前位置周围“切割”一个正方形并使用 Graphics.drawImage() 显示它。不过,我是 Swing 的新手,我不知道如何在不重绘整个东西的情况下在迷宫“上方”的不同位置绘制图形。我应该为迷宫使用哪个容器/组件,然后为图形使用哪个容器/组件来实现这一点?
【问题讨论】:
-
当您说“屏幕应该跟随图形”时,您的意思是播放器始终居中吗?玩家可以只看到他们所在的迷宫部分,还是可以看到他们之前探索过的区域?
-
我的意思是玩家总是居中。玩家可以在他们周围看到一个特定大小的正方形,即有一个可见区域的正方形,始终聚焦在玩家身上。
标签: java swing graphics components containers