我是XNA的新手以防万一.我尝试做的是加载与原版不同尺寸的纹理,或者至少有可能在之后改变尺寸.我在某些地方看到我可以使用:
Texture2D.FromStream(GraphicsDevice graphicsDevice,Stream stream,int width,int height,bool zoom)
但我也读到以这种方式加载纹理忽略了ContentManager,而且我为垃圾收集器做的工作更加困难.
使用ContentManager以任何大小加载图像的正确方法是什么?
如果那是不可能的,我可以按比例改变他的大小,比如使用缩放吗?
语境:
我正在创建一个n x n和平委员会.当n太大时我自动需要和平变得更小.
解决方法
要加载纹理:
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