【问题标题】:Game Programming in JavaJava中的游戏编程
【发布时间】:2011-10-26 11:47:13
【问题描述】:

我知道这是一个比较常见的主题,但信息很快就过时了。我想在这个话题上与时俱进……

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

这是交易:

  • 自行开发不是问题,但如果有合适的第三方 API 可用,我想研究一下。
  • 我使用哪个 Java API 来处理图形/声音?
  • 我已经非常精通 Swing,但根据我的经验,这并不是玩游戏的最佳方式。我可能会被证明是错误的。

【问题讨论】:

  • 您是在寻找一个处理图形和声音的库(如 sdl)还是每个职责一个库?无论哪种方式,您都可能在gamedev.stackexchange.com 上得到更好的答案
  • 就库本身而言,我对任何事情都持开放态度。我是游戏开发的新手,所以我真的不知道自己在做什么:P
  • 您查看lwjgl.org 了吗?不确定这是否是您看到的旧信息之一,但它似乎仍在维护。
  • 刚刚看了lwjgl,它列表中的一些游戏看起来很流畅。谢谢!

标签: java swing audio graphics


【解决方案1】:

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

我建议先看看 LWJGL,因为有几个使用它制作的相当成功的跨平台游戏的例子,包括大部分(如果不是全部)PuppyGame Studios 发布的游戏。

【讨论】:

  • 我不太喜欢玩游戏,但预告片对泰坦来说真的很酷
  • 我想我会选择 LWJGL。感谢大家的帮助!
  • 还以为我会注意到Slick 2D。 LWJGL 在文档中似乎很好地支持它。
【解决方案2】:

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

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

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

【讨论】:

    【解决方案3】:

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

    因此,我建议您仅使用 JSDK 中可用的内容来构建您的游戏。我为很多经典游戏做了这件事,并把它教给了我的学生,我认为这是一个很好的形成方式。

    如果您已经了解很多基础知识,那么我建议您将手放在一个更有成效的库上,或者甚至探索一些。 @Smar 指出了一个有趣的问题。

    问候, 史蒂芬

    【讨论】:

      猜你喜欢
      • 2011-02-07
      • 2010-09-09
      • 2012-03-06
      • 1970-01-01
      • 2013-10-08
      • 1970-01-01
      • 2011-03-05
      • 2012-04-25
      • 1970-01-01
      相关资源
      最近更新 更多