我需要在2D Java sim游戏中使用OpenGL吗?

我需要在2D Java sim游戏中使用OpenGL吗?,java,opengl,java-2d,Java,Opengl,Java 2d,我最近一直在用java开发一款sim游戏,正如我的许多问题所显示的那样,它已经走过了漫长的道路!从图形上看,这是有点缺乏,目前我使用的项目,人,房间等形状 我在看其他类似的项目,注意到其中一个正在使用OpenGL。我一直在阅读CokeAndCode“太空入侵者103-重构和OpenGL”,但我仍然不知道这是否是我在游戏中需要的东西 这是我在前面的一个问题中使用的一个视频,但它仍然基本上显示了我到目前为止所做的一切(),尽管我在过去几周内做了很多重构和重新编码,但从图形上看,没有任何变化。据我所知

我最近一直在用java开发一款sim游戏,正如我的许多问题所显示的那样,它已经走过了漫长的道路!从图形上看,这是有点缺乏,目前我使用的项目,人,房间等形状

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

这是我在前面的一个问题中使用的一个视频,但它仍然基本上显示了我到目前为止所做的一切(),尽管我在过去几周内做了很多重构和重新编码,但从图形上看,没有任何变化。据我所知,我目前正在使用java2D来实现这一点

我真的不知道我该如何继续这个游戏。这是我在学习之外为自己的乐趣所做的第一个项目,所以我对这个项目还是相当陌生的

提前谢谢

根据,在Java2D中实现一个性能良好的图形游戏在很大程度上仍然是可能的,只要您确保不做某些不好的事情

与此相比,它可能会帮助您检查并查看您的方法是如何的

我不知道Java在OpenGL支持方面已经走了多远,所以如果我在你的位置上,我可能只会看到我可以对Java2D代码进行多少重构,并从中找出要做的事情


希望这至少有一点帮助。

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

当您使用3d(例如使用opengl)时,您可以将照明效果添加到方程式中,这通常会对整体的美学产生很大影响。例如,如果移动的圆是一个具有良好纹理(大理石或其他东西)的球体,则可以使其在板上发挥真正的作用,并且可以指定漫反射和镜面反射值以改变照明,例如


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

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

你想学习2D和3D图形和纹理等吗?那就试试看。。。最好的学习方法。然后你可以把它添加到你的简历中


在OpenGL或其他图形库中,有很多教程可以帮助您完成第一步。你甚至可以试试Qt Jambi。但一旦你开始,你就可以搭便车了;)

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

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


不过,这完全取决于您希望在多大程度上改进图形,因为添加OpenGL可能会使事情比普通的Java2D稍微复杂一些。

谢谢,我确实会在这里阅读该链接。我现在需要重新实现游戏的元素以使其工作,因为我现在知道的比我开始时多得多。我只是觉得没有人会想玩它的形状和没有图形每说,当两个类似的项目正在扩大从原来的图形游戏,这是我真的不想,或有专业知识做。阅读。我不能说我做了它说要做的任何事情。嗯,有些事情我只做了一半。但这篇文章似乎专门研究实时图形,也就是说,他们声称他们的策略会带来最佳速度。你的决定是否尝试。链接断了(现在)并且在付费墙后面:(如果我诚实的话,我想3d可能有点超出我的深度。圆圈应该是一个人呵呵。我不打算与其他移动物体进行碰撞检测,我计划让人们像最初的游戏一样互相穿行(主题医院顺便说一句)。谢谢你的输入,谢谢。哈哈,是的,我刚刚又看了一遍视频,并阅读了按钮上的文字:)3d可能不像看上去那么难,当你为所有对象保持一个轴为零,并进行正交投影时,数学保持不变,但你可以从使用照明和3d对象中获得额外的好处。也许只需做一些java 3d教程,然后启动mini sideproject来感受它(并从中获得乐趣),它可能会帮助你更好地重构,以便你可以在以后添加它。嗯。可能。很有趣。我可能会在以后考虑实现它,但我现在计划保持2D,但可能会使图像看起来稍微3D,我的意思是不是自上而下,但仍然是一组图像。我只是不想在以后重新编码所有的图形ate。我只是按原样管理,性能很差,但这是由于我的代码。有很多工作要做:)是的,谢谢你提供的信息。我认为这将是非常棒的,但非常复杂。我想一旦我有了一个几乎可以用java2D工作的游戏,我会更深入地研究它。是的,你的权利。我想我现在将在2D中处理这个问题,然后,一旦它在那个里太小了,再看一个更简单的项目来掌握openGL。我确实是我可以做的其他事情。我想知道一些关于图形的知识,是的,但我真的不擅长制作图形。好吧