3

正如我的许多问题所显示的那样,我最近一直在用 java 开发一个 sim 游戏,而且已经走了很长一段路!从图形上看,它有些欠缺,目前我正在为物品、人、房间等使用形状。

我正在查看其他类似的项目,并注意到其中一个正在使用 OpenGL。我一直在阅读 CokeAndCode “太空侵略者 103 - 重构和 OpenGL”,但我仍然不知道它是否是我游戏中需要的东西。

这是我用于上一个问题的视频,但它仍然基本上显示了我到目前为止的内容(http://www.screenjelly.com/watch/Bd7d7pObyFo),尽管我已经做了很多重构和重新编码过去几周,但从图形上看,什么都没有改变。据我了解,我目前正在使用 java2D 来执行此操作。

我真的不知道我应该如何以图形方式继续玩这个游戏。这是我在学习之外为了自己的乐趣而完成的第一个项目,所以我对此还是很陌生。

提前致谢!

4

4 回答 4

2

这可能会很快变成一个漫长的主观对话,但我想说明你不需要openGL 的事实。您的应用程序不需要是最好的应用程序。Nethack 仍然吸引着你我之间的人:图形很烂。

您想了解 2D 和 3D 图形和纹理等吗?然后尝试一些东西......最好的学习方式。然后,您可以将其添加到您的简历中。

有很多教程可以帮助您在 OpenGL 或其他一些图形库中完成您的第一步。您甚至可以尝试 Qt Jambi。但是一旦你开始,你就在兜风;)

于 2009-08-14T14:02:00.180 回答
1

使用 opengl(即使是 2D 图形)的一个好处是,您将获得(如果正确完成)场景的硬件图形加速。

此外,您可以使用正交投影并将轴 (Z) 之一保持为零来制作 2D 图形。如果您想添加 3D 效果(如闪电或其他东西),如果您使用 OpenGL,这将很容易。

然而,这一切都取决于您想要改进图形的程度,因为添加 OpenGL 可能会使事情比普通的 Java2D 复杂一些。

于 2009-08-14T15:07:37.383 回答
1

据此只要您确保不做一定数量的坏事,在 Java2D 中实现具有良好性能的图形游戏在很大程度上仍然是可能的。

与此相比,它可能会帮助您检查并了解您的方法。

我不知道 Java 在 OpenGL 支持方面已经走了多远,所以如果我在你的位置上,我可能只会看到我可以对 Java2D 代码进行多少重构,然后从那里弄清楚该怎么做。

希望这会有所帮助,至少有一点帮助。

于 2009-08-12T14:52:56.653 回答
0

如何以图形方式继续:使用纹理,更有趣的动画(实现一个简单的物理引擎和/或碰撞检测,总是看起来不错)。

当您使用 3d(例如使用 opengl)时,您可以将光照效果添加到方程中,这通常对整体美学有很大帮助。例如,如果移动的圆圈是一个具有良好纹理(大理石或其他东西)的球体,那么您可以让它在棋盘上真正发挥作用,并且您可以指定漫反射和镜面反射值来改变照明,例如这里

相机移动也可以增强图形。

于 2009-08-12T15:10:03.770 回答