Java游戏实时移动(AP CS Final)

时间:2014-05-28 23:50:05

标签: java swing user-interface imageicon

我正在我的学校参加AP计算机科学课程。他们从未教过我们关于GUI的知识,因为AP测试并不需要你知道如何制作GUI。

对于我们的最终项目,我们想要制作类似tron的东西(自行车在其周围移动的游戏正在创建它们背后的光墙以试图使其他玩家崩溃)。在我们继续之前,我只想确保我们朝着正确的方向前进。 我们应该为玩家使用ImageIcon还是其他东西?

我们还有很多需要学习的东西,但我认为这将是一件好事。我之所以问的原因是因为我不确定每次我们想要移动东西时我们是否能够在不打开另一个窗口的情况下移动它们。

1 个答案:

答案 0 :(得分:2)

这可能是一个意见问题,但就个人而言,我会使用BufferedImage作为主要图片容器。

主要原因是:

  • 它们易于绘画且易于操作,如果需要,您可以实际绘制它们。
  • 加载BufferedImage是通过ImageIO.read完成的,它可以保证在read方法返回之前加载整个图像,如果可以的话,它会抛出IOException ; t由于某种原因读取图像,这比在后台线程中加载图像的ImageIcon更好,如果图像加载失败则不报告错误

图像的移动或放置通常是通过将它们绘制到输出Graphics上下文来完成的。这通常是通过覆盖扩展paintComponent并使用传递的JComponent上下文和Graphics

Graphics#drawImage方法完成的。

有关详细信息,请查看Performing Custom Painting2D GraphicsReading/Loading an Image