首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java游戏开发初学者

java游戏开发初学者
EN

Stack Overflow用户
提问于 2014-05-21 03:00:40
回答 1查看 294关注 0票数 0

我想使用Java进行游戏开发,并希望在将来将游戏导出到移动设备( android和IOs)。我有一些Java的背景,我想先用它做一个简单的游戏来练习。

我在java教程中遇到的游戏教程使用JFrame、JPanel和画布绘制游戏。同时,我在教程中也使用了在GraphicsDevice库中教授java.awt api的方法。我很困惑。从GraphicsDevice api的描述来看,我认为它允许游戏是全屏的,但是,这不是已经可以用JFrame实现的吗?有人能告诉我GraphicsDevice api和没有api有什么区别吗?

此外,我还看到了一些建议OpenGL欧盟的帖子。如果我正确理解,它可以提高游戏图形的性能。是否鼓励在每一场比赛中使用OpenGL?它与GraphicsDevice api类似吗?如果是,我将假设它不能与GraphicsDevices api在同一个游戏中共存;否则,我将假设它们可以共存,并且游戏可以利用这两个api。如果我错了就纠正我.到目前为止我真的不太明白。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-21 03:16:18

我在java教程中遇到的游戏教程使用JFrame、JPanel和画布绘制游戏。同时,我在教程中也使用了在GraphicsDevice库中教授java.awt api的方法。我很困惑。从GraphicsDevice api的描述来看,我认为它允许游戏是全屏的,但是,这不是已经可以用JFrame实现的吗?有人能告诉我GraphicsDevice api和没有api有什么区别吗?

Canvas提供了对BufferStrategy的访问,这为您提供了控制呈现过程的能力。这通常被称为主动渲染,而不是Swing工作的方式,后者使用被动的渲染过程。

全屏排他模式在基于帧的渲染上提供了一些好处,通常情况下,它会更快,因为您可以不受其他窗口的阻碍而独占地访问屏幕,或者操作系统希望执行额外的绘制,因为它(操作系统)可能检测到/需要进行更改。

此外,我还看到了一些建议OpenGL欧盟的帖子。如果我正确理解,它可以提高游戏图形的性能。是否鼓励在每一场比赛中使用OpenGL?它与GraphicsDevice api类似吗?如果是,我将假设它不能与GraphicsDevices api在同一个游戏中共存;否则,我将假设它们可以共存,并且游戏可以利用这两个api。如果我错了就纠正我.到目前为止我真的不太明白。

Java至少通过Swing (不确定AWT )可以同时使用OpenGL和DirectX进行渲染,尽管如此,直接使用OpenGL绑定还有一些额外的好处,其中之一就是包含了3D功能。

我建议您先尝试开发概念和算法,了解如何将游戏状态与游戏视图和游戏控制器分开,了解主游戏循环的目的,例如,不管您正在开发什么,这些概念总是很重要的。

iOS有OpenGL绑定/功能,因此最终学习它们仍然是个好主意,但它们可能会妨碍开始工作。

OpenGL绑定只是为了让您能够通过使用基于AWT的组件通过OpenGL驱动程序和API来呈现。我还相信,一些OpenGL绑定也试图将API客观化,以使其更加面向对象--就我个人而言,我喜欢这个想法,但有些人不会喜欢它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23773244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档