栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java图形-游戏阶段

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java图形-游戏阶段

“放弃所有希望,通过Swing进入游戏的人!”

要回答您的问题,JPanel只是要在其上绘画的表面,例如黑板或纸。它们与阶段无关,或者与您可以借鉴的东西无关,并且与其他子组件的容器无关。

为了解决游戏特定的问题,我建议您不要浪费时间使用Swing组件来构建游戏界面。尽管有 可能
,但是您将遇到一系列性能问题,这些问题只会占用您的时间。根据您的问题,您已经在考虑诸如计时器之类的低级内容来安排事情,并覆盖该

paintComponent()
方法-
这是一个非常常见的错误,很多失败的项目都花时间去发现这不是最佳方法。

如果您的问题从字面上看是您可以看到的森林中的一条路径,那么您会注意到以下几点:

  • 这是很容易破解的(因为这似乎是最直接的方法)
  • 即将到来的是一些尖刻的性能陷阱,以及模糊,非跨平台兼容的调整
  • 您必须弄清楚如何使用Swing的绘画管理器来完成所需的工作,而在大多数情况下,对于大多数游戏而言,您都希望对渲染管线/过程进行直接的确定性控制即可。
  • 出于奇怪(和愚蠢)的原因,例如“我想构建仅使用标准Java库的游戏”,尝试将Swing用于游戏的项目主体不胜枚举。好的,标准库非常好,但是它的核心是解决业务问题,并且真正擅长服务器和网络软件等。如果您至少没有使用某些gamedev库,则可能会错过使用正确工具进行正确工作的机会。Swing绝对不是为游戏而设计的,因为它基本上满足了游戏开发人员的需求,除非您在谈论用于 构建和编辑 关卡的桌面应用程序/工具以及类似的东西。

相反,请使用Slick2D(用于2D游戏)或jMonkeyEngine等用于3D播放的东西。这些库是
专门 为构建游戏而设计的,将使您不必重新发明众所周知的轮子,而只是为了使您的游戏不断发展。他们也有自己的社区,可以帮助您解决特定于图书馆的问题。

最重要的是,他们已经解决了一些最棘手的跨平台问题,例如处理各种版本的OpenGL,以及其他技术细节,我敢打赌您在一天结束时不会真正在意,您真正想要的是,“嘿,给我一个[任意分辨率],图形加速的表面以进行绘制,不要使其变得复杂!”



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/469708.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号