2009-08-12 42 views
2

我最近一直在用java开发一个sim游戏,正如我的很多问题所显示的那样,它已经走过了很长一段路!在图形上,它有点缺乏,目前我正在使用物品,人物,房间等形状。我是否需要在我的2D Java sim游戏中使用OpenGL?

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

这是我用于上一个问题的视频,但它仍然基本显示了我到目前为止的情况(http://www.screenjelly.com/watch/Bd7d7pObyFo),尽管过去几周我做了大量的重构和重新编码,但图形上,什么也没有变。据我了解,我目前正在使用java2D来做到这一点。

我真的不知道我应该如何继续用这个游戏的图形。这是我在为自己的乐趣学习之外完成的第一个项目,所以我还是比较新的。

在此先感谢!

回答

1

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

你想了解二维和三维图形和纹理等?然后尝试一些...最好的学习方式。然后,您可以将其添加到您的简历。

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

+0

你是对的。我认为我现在将以2D的方式处理这个问题,然后一旦它在那里很小,就看一个更简单的项目来掌握openGL。我确实是我能够做的其他事情。我想知道一些关于图形的东西,但是,在制作图形方面我非常糟糕。啊好吧 – Relequestual 2009-08-15 15:12:21

1

根据this,只要您确保不要做某些坏事,在Java2D中实现具有良好性能的工作图形游戏仍然很有可能。

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

我不知道Java在OpenGL支持方面有多远,所以我在你的地方,我可能会看到我可以做多少重构的Java2D代码,并找出从那里做什么。

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

+0

谢谢,我确实会读到那里的链接。我现在需要重新实施游戏的元素才能使其发挥作用,因为我现在知道的不仅仅是当我开始时。我只是觉得没有人愿意用每个人的形状和图形来演奏它,当时有两个类似的项目正在从游戏的原始图形中扩展出来,我并不想这么做,或者有专业知识去做。 – Relequestual 2009-08-12 14:58:23

+0

阅读。我不能说我已经完成了它所说的任何事情。姆。 – Relequestual 2009-08-15 10:24:09

+0

那么,我只实现了一些这些东西。但该文似乎专注于实时图形,也就是说他们声称他们的策略导致了最佳速度。你的电话是否尝试。 – 2009-08-15 16:40:52

0

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

当你走3d(例如使用opengl)时,你可以给方程添加光照效果,这通常对整体的美学有很大的作用。例如,如果动圈是具有很好纹理(大理石或其他物体)的球体,那么您可以将其变成真正的角色,并且可以指定漫反射和镜面反射值来改变光线,例如here

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

+0

如果我是诚实的,我认为去3d也许会略微超出我的深度atm。应该是一个人嘿嘿,我不打算让其他移动物体检测到collsion,我打算让人们像原来的游戏(主题医院btw)一样走过彼此,感谢您的意见,不胜感激。 – Relequestual 2009-08-12 15:16:00

+0

哈哈,是的,我只是再次看到视频,并阅读按钮上的文字:) – 2009-08-12 15:25:04

+0

3d可能不像看起来那么硬,当你保持所有对象的一个​​轴为零,并做正交投影数学保持大致相同,但是您可以获得使用照明和3D对象的附加好处。也许只是做一些java三维教程,并开始迷你sideproject以获得它的感觉(并且玩得开心),它可能会帮助您更好地重构,以便稍后添加它。 – 2009-08-12 15:44:27

1

使用opengl(即使是2D图形)的一个好方面是,你将得到(如果适当的话)硬件图形加速你的场景。另外,您可以使用正交投影,并将轴(Z)中的一个保持为零来完成2D图形。如果你想添加3D效果(比如闪电或者其他),那么使用OpenGL会很容易。

但是,这一切都取决于您想要改进图形的多少,因为添加OpenGL可能会使事情比普通Java2D稍微复杂一些。

+0

叶,谢谢你的信息。我认为这会非常棒,但非常复杂。我想,一旦我用java2D开发了一款可以工作的游戏,我会更深入地研究它。 – Relequestual 2009-08-15 15:10:51