我目前正在开发一款Java游戏,出现了一个问题。这是一个策略游戏。
我的游戏区域或地图是一个JPanel,我把它放在JScrollPane中,允许你在地图上滚动。我在地图上放置了其他jpanel,例如关于当前资源的信息栏。当然,当我滚动,这些jpanel不跟随,现在我想知道我最好的策略是什么?
现在,我使用键盘箭头滚动,然后使用jpanel的setBounds,我想在相同的方向上移动。例如,对于右箭头键,我增加setBounds参数(x, y, sizeX, sizeY)中x值的值。这不是很漂亮,如果你按住右箭头键几秒钟,有图像的JPanel开始闪烁。
我有什么选择?谢谢你的时间!
我会把"资源"栏等放在滚动面板之外。例如,让主面板有一个BorderLayout
,让地图区域作为中心组件,把资源栏作为南部组件。
Main panel (BorderLayout)
_______________________________________
| ___________________________________ |
| | |A| |
| | | | |
| | | | |
| | Center component: | | |
| | | | |
| | (Scrollpane containing the map) | | |
| | | | |
| | | | |
| |_________________________________|v| |
| |<_______________________________>| |
| |
| ___________________________________ |
| | | |
| | South component: Resources | |
| |___________________________________| |
|_______________________________________|