Java swing小型2D游戏:如何对视图进行建模?

Gui*_*ume 4 java swing java-2d

在一个小型的Java swing 2D游戏中,创建棋盘视图的最佳解决方案是什么?

  1. 使用一个组件用于电路板并立即定制它和检查器的每个方块?
  2. 使用一个组件用于电路板并创建另一个组件,使用自己的paint组件对该方块进行建模,仅为方形工作.使用布局将每个Square实例放置在电路板中?

我知道这是主观的,我不想打架.我只需要一些线索来弄清楚自己应该走哪条路.我已经开始了一个侧面项目,我已经使用了1),感觉有些不对劲.

Fin*_*las 6

只需使用一个绘图板/容器即可.

考虑一个基于图块的游戏.使用你的第二个解决方案,每个磁贴都是一个对象,内存会飙升,游戏会慢慢爬行.

使用第一个选项,您可以灵活使用.你绘制你想要的东西,你有面板坐标所以一切都是相对于此.使用基于图块的示例,您将知道面板的高度和宽度,绘制正方形并根据需要增加X和Y坐标.

诸如Swing或.NET的Winforms之类的GUI框架是昂贵的,因为它们具有游戏不需要的许多其他东西.因此,要回答您的问题,请选择第一个选项,而不是使用面板为您的主板上的每个检查器.

结合第一种方法使用第二种方法的一个很好的解决方案是Flyweight设计模式.你仍然可以使用OO对象,但是你通常会得到一小部分.看看这个.