Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 放大时精灵会模糊_C#_Xna_Sprite_Texture2d_Blurry - Fatal编程技术网

C# 放大时精灵会模糊

C# 放大时精灵会模糊,c#,xna,sprite,texture2d,blurry,C#,Xna,Sprite,Texture2d,Blurry,在XNA中,我尝试使用老式的超级马里奥精灵创建一个游戏,但如果我尝试将它们变大,它们会变得非常模糊。我曾尝试在photoshop中将PNG精灵保存为最近邻、双三次和双线性,但它们看起来都同样模糊。我也尝试过在线压缩PNG,但也没用 我对XNA的了解有些基础,因此,除非您的答案是代码,否则我可以简单地将粘贴复制到我的“main”类中,请解释如何使用它。在绘图函数中,您应该只需要更改一行代码 在这里调用spritebatch.Begin()而不是调用 spriteBatch.Begin(Sprite

在XNA中,我尝试使用老式的超级马里奥精灵创建一个游戏,但如果我尝试将它们变大,它们会变得非常模糊。我曾尝试在photoshop中将PNG精灵保存为最近邻、双三次和双线性,但它们看起来都同样模糊。我也尝试过在线压缩PNG,但也没用


我对XNA的了解有些基础,因此,除非您的答案是代码,否则我可以简单地将粘贴复制到我的“main”类中,请解释如何使用它。

在绘图函数中,您应该只需要更改一行代码

在这里调用
spritebatch.Begin()而不是调用

spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend, SamplerState.PointClamp, DepthStencilState.Default, RasterizerState.CullCounterClockwise);
这将设置“GraphicsDevice”以在精灵缩放时渲染纹理,而不在整个像素之间插入颜色

您可以做的另一件事是使用具有您希望游戏“模拟”的分辨率的渲染目标,在渲染目标上绘制所有内容,最后将其绘制到屏幕上。 这有点超出了这个问题的范围,但如果你想创造一个真正的老学校体验,这是理想的