Xna 自动缩放背景图像
我有一张.png高清(1024x768)的背景图片。我的用户可以有不同的屏幕大小,但看起来应该总是一样的,因此:Xna 自动缩放背景图像,xna,c#,vb.net,Xna,C#,Vb.net,我有一张.png高清(1024x768)的背景图片。我的用户可以有不同的屏幕大小,但看起来应该总是一样的,因此: 是否可以自动将其大小缩放到中的背景大小?首先,必须将整个场景渲染到渲染目标中,然后使用矩形作为位置和大小绘制它 Rectangle dest = new Rectangle (0, 0, graphics.ViewPort.Width, graphics.ViewPort.Height); spriteBatch.Draw(RenderTarget, dest, Color.Whit
是否可以自动将其大小缩放到中的背景大小?首先,必须将整个场景渲染到
渲染目标中,然后使用矩形作为位置和大小绘制它
Rectangle dest = new Rectangle (0, 0, graphics.ViewPort.Width, graphics.ViewPort.Height);
spriteBatch.Draw(RenderTarget, dest, Color.White);
如果您以16:9的比例工作,而用户以4:3的比例工作,则可能会出现拉伸/挤压:
int height = (int)(graphics.ViewPort.Width * (16.0/9.0));
Rectangle dest = new Rectangle (0, graphics.ViewPort.Height -- (int)(height / 2.0), graphics.ViewPort.Width, graphics.ViewPort.Height);
spriteBatch.Draw(RenderTarget, dest, Color.White);
或一般情况下,宽度>=高度:
double aspectratio = ((double)graphics.ViewPort.Width / (double)graphics.Viewport.Height);
int height = (int)(graphics.ViewPort.Width * aspectratio;
Rectangle dest = new Rectangle(0, graphics.ViewPort.Height - (int)(height / 2.0), graphics.ViewPort.Width, height);
下面是一些独立屏幕分辨率的好例子:
是的,这肯定是可能的。你做了哪些研究?有代码显示吗?