首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >渲染小于屏幕宽度和高度的游戏世界

渲染小于屏幕宽度和高度的游戏世界
EN

Stack Overflow用户
提问于 2016-06-10 05:06:51
回答 2查看 188关注 0票数 0

我目前正在开发一个LibGDX手机游戏应用程序。我遇到的问题是,我希望世界的宽度和高度为480x480,屏幕的宽度和高度为640x480。屏幕上额外的240个单位将用于渲染UI,类似于ROTMG或Clash Royale(游戏中的纸牌视图)。

我已经考虑过用另一个摄像头在游戏上渲染UI,但这不是我想要的设计风格。我希望游戏的逻辑和坐标是在世界的宽度和高度,而不是在UI的额外空间。

我该怎么做呢?

附言:这个游戏是2d的

附注。我想为游戏保持这个配置调整大小。

EN

回答 2

Stack Overflow用户

发布于 2016-06-10 06:50:14

用2个Group实例创建一个全屏舞台--一个用于UI,另一个用于游戏。分组:游戏的边界是0,0,480,480。UI的边界是480、0、240、480。现在,例如,如果您想在相对于游戏组的坐标中工作,请在游戏组上调用Group.localToStageCoordinates(Vector2 localCoords) (或者使您自己成为一个辅助方法,这样您就不必一直编写这个长名称)。同样,UI和游戏逻辑可以通过这种方式保持完全分离-魔术:-)。

票数 1
EN

Stack Overflow用户

发布于 2016-06-10 17:53:58

我总是喜欢把我的游戏和UI分开。你可以创建一个全屏相机,然后用Scene2D stage把你的UI放在上面。除非你想要精确的尺寸,否则你不必担心太多的定位问题,因为你只是覆盖了你的UI元素。如果你也想为你的游戏使用一个阶段,那么只需要创建第二个阶段,一个用于游戏,一个用于UI。

不管怎样,看起来你是以像素为单位思考的。你的游戏不需要知道像素,只需要知道你的游戏世界渲染了多少。如果我有一个10 x 10单位大的瓦片,我想向玩家展示一个10x10瓦片的正方形,我会为它创建一个new FitViewport(100, 100)Viewport将世界单位计算回它正在运行的设备上的像素。这使你或任何从事你的程序的人的事情变得更有逻辑。我的播放器不是256 pixels高,因为这是图像的高度,不,我的播放器是1,80m高,并使用图像来显示。如果他想像忍者一样跳,他应该跳过另一个玩家,比方说2m,然后他就会在9.8m/s摔倒。

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

https://stackoverflow.com/questions/37736192

复制
相关文章

相似问题

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