在XNA中调整和加载texture2d

时间:2010-12-03 20:31:03

标签: c# xna texture2d downsize

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

Texture2D.FromStream(GraphicsDevice graphicsDevice, Stream stream, 
                 int width, int height, bool zoom)

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

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

上下文: 我正在创建一个n x n和平委员会。当n太大时我会自动地需要和平变得更小。

2 个答案:

答案 0 :(得分:10)

加载纹理:

Texture2D tex = Content.Load<Texture2D>("somefile");

要调整大小,请使用其中一个带“缩放”的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);

如果您是XNA新手,建议您阅读this short tutorial,并在create.msdn.com上查看Education Catalog

答案 1 :(得分:1)

v-on:EventName="doSmth"