我是一个相当新的程序员,我正在尝试使用Java创建一个非常基础的游戏,您只需在屏幕上移动一个精灵。到目前为止,我完成的工作是创建一个SpriteSheet类,它加载到我的精灵表中,并将Spritesheet的BufferedImage保存为该类的字段,并将Sprite类从该字段中获取子图像(精灵本身)并保存作为Sprite类中的一个字段。我已经测试过它,它的一切工作都应该如此。我明白,这可能不是典型的或“正确的”,有效的做事方式。我可以自己搞清楚,但我现在的问题是理解BufferedImage,Graphics和Canvas之间的关系。我看到一个教程,其中一个人将他的精灵保存为一个BufferedImage,并用它来创建一个Graphic。然后,他将此图形绘制到画布上,并将画布添加到他的JFrame中。他还在某种程度上与他的图形相关联,并且我完全不理解BufferStrategy。每当我尝试为我的目的调整他的方法时,它都不会起作用。我已经无数次地浏览了javadocs这些东西,并且我单独获得了它们,但我似乎无法理解它们如何组合在一起来实现我的目标。BufferedImage,Graphics和Canvas之间的关系游戏
简而言之:任何人都可以解释BufferedImage,Graphics和Canvas如何在显示2D游戏的精灵的上下文中一起使用,以及如何使用BufferStrategy?适当和相关的方法?这种方法适用于渲染移动的精灵大约15 fps吗?等等......我的问题不是来自缺乏研究或缺乏必要的知识,而是缺乏理解。
非常感谢你和任何建议,非常感谢!
也许你应该开始由具有厕所k在[Canvas的JavaDocs](http://docs.oracle.com/javase/7/docs/api/java/awt/Canvas.html),['BufferStrategy'](http:// docs。 oracle.com/javase/7/docs/api/java/awt/image/BufferStrategy。html)和[BufferStrategy and BufferCapabilities](https://docs.oracle.com/javase/tutorial/extra/fullscreen/bufferstrategy.html),对于一些示例 – MadProgrammer
哦,一般来说,这与Swing以及更多用AWT做;) – MadProgrammer