我使用单人游戏。目前,我有一个问题无法阻止我前进。此问题与图像分辨率和要使用的尺寸有关。
我想知道的是,是否可以根据屏幕的分辨率和/或大小为每个设备使用相同的图像,还是必须使用不同的图像(背景图像充满整个屏幕)?
先感谢您。
您只能使用一张图像并缩放比例以适合所需的分辨率。做背景图像的最简单方法是使用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的两倍。
要考虑的另一件事是,图像在某些屏幕上可能会拉伸成不同的宽高比。在我看来,大多数时候都可以,但是您可能希望实施更复杂的缩放系统。有些人喜欢使用Pillarboxing,Letterboxing或只是在非宽屏中切掉侧面(不确定这叫什么)。
或者,您可以使用不同分辨率的不同图像以获得更高质量的结果。虽然,我还没有看到这种方法在游戏中使用很多,但是我认为它在应用程序中很常见。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句