正如标题所暗示的,我正在制作一个有地图的游戏,地图当然比大多数RTS游戏的屏幕更大:)那么,有什么建议可以这样做吗?这张地图是一个很大的JFrame,上面画着图像。
发布于 2011-04-20 01:48:29
现在,我将地图(以前的JFrame)更改为JPanel,并将其添加到添加到contentPane的JFrame的JScrollPane中,请参见以下代码:
public Main() //extends JFrame
{
setDefaultCloseOperation(this.EXIT_ON_CLOSE);
Board b = new Board(db); //extends JPanel
setSize(400, 200); //size of the JFrame, JPanels size is set in its own constructor
jsp = new JScrollPane(b); //adding the Board to the JScrollPane
getContentPane().add(jsp); //adding the JScrollPane to the contentPane
setVisible(true);
}现在,黑板出现了,所有单元格都在正确的位置,我可以像往常一样与地图交互,但在任何地方都看不到滚动。指针或解决方案?<3
发布于 2011-04-12 04:27:25
我非常怀疑在内存中绘制整个地图并只选择要显示的部分的可扩展性。您只想在窗口坐标中绘制用户看到的内容。
发布于 2011-04-12 04:31:54
我不知道您的地图有多大,但您可以将地图添加到JScrollPane。隐藏垂直/水平滚动条。然后,您可以使用滚动窗格的视口来定位地图。
https://stackoverflow.com/questions/5627097
复制相似问题