- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一款具有静态游戏玩法(即固定背景)的游戏。我想定位纵横比在 1.33(800x600) 到 1.77(854x480) 范围内的设备。对于我的 playArea,我想要一个固定的纵横比。对于我的 HUD,我想要相对于 Scrren Size 的固定位置我正在使用阶段来实现 HUD、游戏区域。
第一个问题- 是否有可能以恒定的worldsize 或设置一些 ViewPort-(拉伸(stretch)、填充等)来定位广泛的屏幕?
第二个问题 - 以像素为单位的世界大小应该是多少,以便我可以根据它创建图形?
第三个问题 - HUD、游戏玩法的视口(viewport)应该是什么?
我的经历...我开始游戏时使用 WorldSize (855 x 600) 和 Fill ViewPort 用于 gamePlay 和 StretchViewPort 用于 HUD。到目前为止,游戏玩法还不错,但是我在使用 HUD 时面临很多问题。无论我做什么,HUD 元素的位置永远不会保持不变(无论屏幕大小如何,固定位置)。
最后一个 - 创建分辨率为 855x600 的背景是否正确?
Plz 建议更好的选择、方法或我做错了什么。
提前致谢。
抱歉我的英语不好。
最佳答案
首先:世界大小与视口(viewport)大小(或下文中的虚拟大小)不同:
Worldsize: 关卡大小
Virtual size:你在屏幕上可以看到的关卡部分/世界部分的大小
通常你只能看到关卡的一部分,Camera
会四处移动以显示不同的部分。
如果整个关卡一次显示在屏幕上,则世界大小和虚拟大小相同。
为了尽可能简单,他们应该使用相同的单位(例如米)。
使用 libgdx 不仅可以拥有固定的虚拟大小,而且还非常容易。
正如您已经注意到的,有 Viewport
类,其中一些支持虚拟尺寸。
您应该为游戏区域使用的 Viewport
是 FitViewport
,它支持虚拟大小并通过显示黑色边框保持纵横比(例如 16:9 的纵横比) 16/10 屏幕将导致屏幕顶部和底部出现黑色边框。
对于 HUD,您可以使用另一个 Viewport
,我想 StretchViewport
没问题。它还支持虚拟尺寸,但不是保持纵横比而是拉伸(stretch)东西(例如 16/10 屏幕上 16:9 虚拟纵横比的元素将被上下拉伸(stretch))以填满屏幕。
您要选择的虚拟大小取决于游戏。试想一下:
好的,现在 1.75m 应该是屏幕高度的 1/10。因此屏幕尺寸为 1.75*10=17.5
。
为了让它更简单一点,让我们假设我们有一个更高的(1.8m)人类,所以我们的虚拟高度现在是18。
现在考虑纵横比,我想要 16/9 的纵横比,这意味着 16/9 = width/*18*
我们的虚拟宽度是32。
现在我们有了一个32*18m的虚拟尺寸。最大的优势:现在一切都可以用米来计算。如果要将人 移动 1m,只需将其位置加 1。
正如我已经说过的那样,Viewport
可以是游戏的 FitViewport
,因为你想保持纵横比,我想对于 HUD StretchViewport
会很好,但你可以尝试不同的并选择你喜欢的。
希望对您有所帮助。
关于android - 如何决定 WorldSize,GamePlay 和 HUD 的视口(viewport),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26677930/
我正在制作一款具有静态游戏玩法(即固定背景)的游戏。我想定位纵横比在 1.33(800x600) 到 1.77(854x480) 范围内的设备。对于我的 playArea,我想要一个固定的纵横比。对于
我是一名优秀的程序员,十分优秀!