Mobile 移动应用中的图像分辨率和大小

Mobile 移动应用中的图像分辨率和大小,mobile,screen-resolution,monogame,screen-size,Mobile,Screen Resolution,Monogame,Screen Size,我使用单一游戏。目前,我有一个阻碍我前进的问题。这个问题与使用的图像分辨率和大小有关 我想知道的是,我可以使用相同的图像,还是必须使用不同的图像背景图像,根据分辨率和/或屏幕大小填充每个设备的所有屏幕 提前谢谢。您必须为每个分辨率使用不同的图像,并将相同分辨率的图像放在一个文件夹中以订购代码。您可以仅使用一个图像并将其缩放以适合所需的分辨率。制作背景图像的最简单方法是使用SpriteBatch.Draw重载,该重载采用如下目标矩形: var width = _graphicsDeviceMana

我使用单一游戏。目前,我有一个阻碍我前进的问题。这个问题与使用的图像分辨率和大小有关

我想知道的是,我可以使用相同的图像,还是必须使用不同的图像背景图像,根据分辨率和/或屏幕大小填充每个设备的所有屏幕


提前谢谢。

您必须为每个分辨率使用不同的图像,并将相同分辨率的图像放在一个文件夹中以订购代码。

您可以仅使用一个图像并将其缩放以适合所需的分辨率。制作背景图像的最简单方法是使用SpriteBatch.Draw重载,该重载采用如下目标矩形:

var width = _graphicsDeviceManager.PreferredBackBufferWidth;
var height = _graphicsDeviceManager.PreferredBackBufferHeight;
var destinationRectangle = new Rectangle(0, 0, width, height);

_spriteBatch.Begin();
_spriteBatch.Draw(_backgroundTexture, destinationRectangle, null, Color.White);
// draw other sprites here
_spriteBatch.End();
请记住,如果你将图像缩小而不是放大,你的图像会看起来更好,所以要使它们相当大,这样它们在平板电脑和手机上都会很好看。我倾向于使用1600x960,因为它是普通手机分辨率800x480的两倍

另一个需要考虑的是,在某些屏幕上,图像可能会拉伸成不同的长宽比。在我看来,这在大多数情况下是可以的,但是您可能想要实现一个更复杂的缩放系统。有些人喜欢使用枕头、字母拳击或干脆在非宽屏屏幕上切掉侧面,但不知道这叫什么


或者,您可以使用不同分辨率的不同图像以获得更高质量的结果。虽然我还没有在游戏中看到过这种方法,但我认为它在应用程序中非常常见。

谢谢,但是,缩放图像时,如果比例不一致,则可能会导致图像质量下降。所以我认为我必须用一个图像来表示比率3:5,9:16,2:3的每一个值…@hmimo是的,如果你愿意,你可以这样做。创建所有图像并确保每次加载正确的图像可能需要相当多的工作,此外,游戏将占用更多磁盘空间,但看起来应该不错。如果比率拉伸是你主要关心的问题,我个人会通过切割源矩形的边缘来动态地将图像装配到屏幕上。是时候阅读一些指南了:这些指南并不真正适用于游戏开发。尽管如此,它们还是值得一读。直到今天我才看到它!