我在 Java 方面经验丰富,并且在 Swing(表单类型应用程序)方面做了一些工作,但我从来不需要比这更强大的功能,所以我不太了解 GUI 方面的情况。这是我从我一直在做的一点点阅读中收集到的。我确定它已经关闭了。
在编写太空入侵者类型的游戏时,我想到的两种方法是:
- 为所有增量绘画和分层创建一个大组件和代码。
- 在包含文本和图像的 JLayeredPane 中创建一堆嵌套的绝对定位的 JPanel,然后仅对可能需要重绘的那些调用 repaint()。然后覆盖paintComponent()(不确定是否自动清除以前的内容)。根据我的阅读,这将处理组件的分层和重绘,而无需重绘整个屏幕。
它是否正确?如果是这样,哪种方法更适合该项目?