在XNA中调整和加载texture2d

mjs*_*jsr 6 c# xna texture2d downsize

我是XNA的新手以防万一.我尝试做的是加载与原版不同尺寸的纹理,或者至少有可能在之后改变尺寸.我在某些地方看到我可以使用:

Texture2D.FromStream(GraphicsDevice graphicsDevice, Stream stream, 
                 int width, int height, bool zoom)
Run Code Online (Sandbox Code Playgroud)

但我也读到以这种方式加载纹理忽略了ContentManager,而且我为垃圾收集器做的工作更加困难.

使用ContentManager以任何大小加载图像的正确方法是什么?如果那是不可能的,我可以按比例改变他的大小,比如使用缩放吗?

背景:我正在建立一个nxn和平委员会.当n太大时我自动需要和平变得更小.

小智 10

要加载纹理:

Texture2D tex = Content.Load<Texture2D>("somefile");
Run Code Online (Sandbox Code Playgroud)

要调整大小,请使用其中一个带有"缩放"的SpriteBatch重载 http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.spritebatch.draw.aspx

float scale = .5f; //50% smaller
SpriteBatch.Draw(tex, position, source, Color.White, rotation, scale, SpriteEffects.None, 0f);
Run Code Online (Sandbox Code Playgroud)

如果您是XNA的新手,我建议您阅读这篇简短的教程,并在create.msdn.com上查看教育目录