【发布时间】:2018-06-15 15:17:00
【问题描述】:
我制作了一款 Asteroids 游戏,但在屏幕尺寸不同时遇到了问题。是的,我知道视口,但就我而言,我认为这行不通。我尝试使用它,但我的对象不是图像。相反,它们是由 ShapeRenderer 渲染的,因此我猜视口可能不会影响它们。我已经解决了如何适合大多数类型的智能手机屏幕的文本,但不是像播放器和小行星这样的渲染对象。在某些屏幕上,它们的尺寸非常合适,而其他屏幕要么太小,要么太大。
有没有办法在 libGDX 中缩放渲染 (ShapeRenderer) 类型,以便它们适合屏幕尺寸/分辨率?还是我必须尝试为可以使用的常见分辨率实现一个类?
这是说明问题的两张图片。顺便说一下,图片中的文字已经固定好了。
编辑:
现在可以为 ShapeRenderer 创建和应用视口,但我仍然遇到同样的问题。 视口内的游戏对象不会缩放以适应当前屏幕。我需要一种方法来使用视口缩小游戏对象(如果可能的话)。游戏的实现方式是智能手机屏幕的大小是游戏世界大小。因此,如果屏幕很小,移动飞船的空间就很小。我希望对象在适合视口大小的区域内移动。游戏不应因屏幕大小而变得更难或更容易。
左侧示例:智能手机大屏幕上的游戏
右侧示例:ShapeRenderer 视口正在工作
【问题讨论】:
-
视口可以与 SpriteBatch 一起使用。
-
我正在使用 ShapeRenderer 绘制游戏对象?