如何使用鼠标和/或键在地图上移动(类似RTS的游戏)

时间:2011-04-11 20:22:51

标签: java map scroll

正如标题所暗示的那样,我正在制作一个有地图的游戏,地图当然比大多数RTS游戏更适合屏幕:) 那么,关于如何解决这个问题的任何建议? 地图是一个大JFrame,上面绘有图像。

3 个答案:

答案 0 :(得分:1)

我非常怀疑在内存中绘制WHOLE地图,只选择要显示的部分是可扩展的。您只想在窗口坐标中绘制用户看到的内容。

答案 1 :(得分:0)

我不知道您的地图有多大,但您可以将地图添加到JScrollPane。隐藏垂直/​​水平滚动条。然后,您可以使用滚动窗格的视口定位地图。

答案 2 :(得分:0)

现在我将地图(以前的JFrame)更改为JPanel,将其添加到添加到JFrame的contentPane的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);
}

现在发生的事情是Board显示,所有单元格都在正确的位置,我可以像往常一样与地图交互,但不能在任何地方看到滚动。 指针或解决方案? < 3