XNA缩放模糊的精灵图片

4
我有一个32x32像素的精灵用于像素艺术游戏,但是当我将精灵放大时,它变得非常模糊。我在网上阅读了一些内容,相信解决方案在于 SamplerState

我已经查看了MSDN、StackOverflow和Gamedev,但对于像我这样的初学者来说没有什么有用的东西。有一些代码示例,但我不知道如何将它们应用到我的项目中。

我暂时不提供我的代码,因为我确信它没有任何用处。我只想有人能够解释一下如何做,或者给我一些更简单的代码。我不介意哪种方式,最好是解释一下,这样我将来就知道该怎么做了。


2
你是否正在使用SpriteBatch这个问题可能会引起你的兴趣。 - Nico Schertler
1
谢谢,那正是发生的事情,而且我不确定其他参数应该填什么,但是从链接的问题中复制spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, DepthStencilState.None, RasterizerState.CullCounterClockwise);就完美地解决了问题! - Pyroglyph
1个回答

11

SpriteBatch.Begin 方法可以接收 SamplerState 参数。您只需要传入 SamplerState.PointClamp 即可。

SpriteBatch.Begin (SpriteSortMode, BlendState, SamplerState.PointClamp, DepthStencilState, RasterizerState)

像这样,但将 SpriteSortMode、BlendState、DepthStencilState 和 RasterizerState 替换为您所需的值。如果您不想使用某些值,则可以将其设置为 null。


那我该怎么做呢?我忘了说我是初学者 :P - Pyroglyph
1
在你的Draw方法中的spriteBatch.Begin();,只需要更改那个即可。不要复制这段代码,只需按照参数进行操作。 - joppiesaus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接