2011-08-13 138 views
7

我知道这是一个有点常见的主题,但信息很快就过时了。我想在这个话题上与时并进...Java中的游戏编程

无论如何,我正在研究创建一个能够跨平台工作的Java游戏。正如其他人在Stack上所说的那样,许多有关Java图形API的示例代码和信息已经过时了。

这里的交易:

  • 我自己的滚动是没有问题的,但如果有一个体面的第三方提供的API,我想看看它。
  • 哪一个Java API可用于图形/声音?
  • 我对Swing已经非常熟悉,但从我的经验来看,这不是去参加比赛的最佳方式。我可以被证明是错误的。
+0

您是否在寻找一个LIB处理图形和声音(如SDL),或者为每个责任?无论哪种方式,你可能会得到更好的答案http://gamedev.stackexchange.com/ – mbx

+0

我打开任何东西,只要自己的库本身去。我是全新的游戏开发人员,所以我真的不知道自己在做什么:P – Andy

+1

您是否检查过http://www.lwjgl.org/?不知道这是否是您看到的信息的旧点之一,但它似乎仍然保持。 –

回答

6

在Java制作2D游戏更有趣的游戏库中的两个是Golden T Game EngineLightweight Java Game Library(LWJGL)。

我建议考虑看看LWJGL第一,因为有过与它所做的,包括大多数相当成功的跨平台游戏的几个例子,如果不是全部,由PuppyGame Studios发布的游戏。

+0

我不喜欢这么多玩游戏,但预告片对于巨人来说真的很酷 – Snicolas

+0

我想我正在用LWJGL。感谢所有的帮助! – Andy

+0

也想到我会注意[Slick 2D](http://slick.cokeandcode.com/)。它似乎在文档中得到了LWJGL的很好的支持。 – Andy

4

对于图形,您可能会考虑Qt Jambi。它为Java提供类似Qt的API,包括图形视图(任意2D绘图,高级API)和OpenGL类(OpenGL与Qt的绑定,这里没有特别之处)。它还包含可用于播放音频和视频的Phonon多媒体架构。

减号是,它只是绑定到Qt,所以它需要本地库才能工作。

(是的,对不起,我该项目的一部分)

2

如果您对旧学校的答案感兴趣,我个人喜欢很多掌握Java图形API的知识,并了解如何从挥杆组件中简单地绘制图形。 Java Graphics的基础知识非常有趣,该平台提供高级图形操作,简化双缓冲,渐变,纹理,仿射变换,图像处理和(有限)音频支持,浮点精度和全屏幕绘图。掌握“相对较低”水平的API的优势在于,在那之后,您更好地理解高级图书馆的工作方式以及他们必须提供的功能。

所以我建议只从JSDK中提供的东西来构建你的游戏。我为很多经典游戏做过这些,并且将它教给我的学生,我认为这是构建它们的一个很好的方式。

如果您已经了解了很多基础知识,那么我会建议您将手放在更高效的图书馆,甚至探索一些。 @Smar指出了一个有趣的一个。

问候, 斯特凡