我是否需要在2D Java SIM游戏中使用OpenGL?

时间:2009-08-12 14:37:49

标签: java opengl java-2d

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

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

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

我真的不知道如何用这个游戏继续图形化。这是我在学习之外为自己的乐趣做的第一个项目,所以我对此仍然很陌生。

提前致谢!

4 个答案:

答案 0 :(得分:2)

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

您想了解2D和3D图形和纹理等吗?然后尝试一下......最好的学习方法。然后你可以将它添加到你的简历中。

有许多教程可以在OpenGL或其他图形库中执行您的第一步。你甚至可以试试Qt Jambi。但是一旦你开始,你就可以乘车;)

答案 1 :(得分:1)

根据this,只要你确保不做一定数量的坏事,它仍然很有可能在Java2D中实现具有良好性能的工作图形游戏。

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

我不知道Java在OpenGL支持方面走了多远,所以我可能只会看到我可以做多少Java2D代码的重构,并从中找出要做的事情。

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

答案 2 :(得分:1)

使用opengl(即使是2D图形)的一个好处是你将获得(如果操作得当)硬件图形加速为你的场景。

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

然而,这完全取决于你想要多少改进图形,因为添加OpenGL可能会使事情比普通的Java2D复杂一点。

答案 3 :(得分:0)

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

当您使用3d(例如使用opengl)时,您可以为等式添加光照效果,这通常会对整体的美感产生很大影响。例如,如果移动的圆圈是具有良好纹理的球体(大理石或其他东西),那么您可以使其真正在棋盘上扮演角色,并且您可以指定漫反射和镜面反射值来改变光照,例如{{3} }。

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