代码之家  ›  专栏  ›  技术社区  ›  Guillaume

Java swing小2D游戏:如何建模视图?

  •  4
  • Guillaume  · 技术社区  · 16 年前

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

    1. 是否为棋盘使用一个组件,并立即自定义绘制棋盘和棋盘格的每个方块?
    2. 将一个组件用于电路板,然后创建另一个组件,该组件使用自己的绘制组件对正方形进行建模,该组件仅对正方形执行此操作。使用布局将每个方形实例放置在板中?

    2 回复  |  直到 16 年前
        1
  •  6
  •   Finglas    16 年前

    只需使用一个绘图面板/容器即可完成所有工作。

    考虑一个基于瓦片的游戏。使用第二种解决方案,每个磁贴都将成为一个对象,内存将急剧膨胀,游戏将缓慢爬行。

    使用第一个选项,您可以灵活调整。你画你想要的,你有面板坐标,所以一切都是相对于这个。使用基于平铺的示例,您将知道面板的高度和宽度,根据需要在X和Y坐标中绘制正方形和增量。

    与第一种方法结合使用第二种方法的一个很好的解决方案是 Flyweight Design Pattern . 您仍然可以使用OO对象,但您将拥有正常使用量的一小部分。过来看。

        2
  •  3
  •   trashgod    16 年前

    像芬格拉斯一样,我倾向于你的第一种方法。这 tile-based game component-based game 使用 GridLayout 属于 JToggleButton . 前者稍微复杂一些,但即使在大屏幕上也能很好地播放;后者更简单,但足以进行合理的博弈。你可能需要尝试游戏的几何和逻辑来决定你更喜欢哪个。