Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.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#_Rotation_Sprite_Xna 4.0_Sprite Sheet - Fatal编程技术网

C# 我的雪碧在上、下、左、右时看起来都很锐利,但当它';它在任何方向上都是对角的,会变得有点模糊吗?

C# 我的雪碧在上、下、左、右时看起来都很锐利,但当它';它在任何方向上都是对角的,会变得有点模糊吗?,c#,rotation,sprite,xna-4.0,sprite-sheet,C#,Rotation,Sprite,Xna 4.0,Sprite Sheet,我正在使用XNA4.0框架用c#编写代码。我注意到,当精灵向上、向下、向左、向右移动(它翻转以面向正确的方向)时,精灵会变得锐利,焦点与它的绘制方式类似 向上方向的精灵示例(清晰图像) 但由于某种原因,当我沿对角线方向移动玩家时,它会变得有点模糊 对角线向上/向右方向的精灵示例(模糊图像) 我只是绕着它的原点(精灵的中心)旋转对象,除了旋转和原点之外,我没有弄乱任何其他绘制属性 有人能解释一下为什么会发生这种情况吗?这就是精灵旋转时发生的情况吗?有没有办法旋转精灵并保持其锐度? ---我不确

我正在使用XNA4.0框架用c#编写代码。我注意到,当精灵向上、向下、向左、向右移动(它翻转以面向正确的方向)时,精灵会变得锐利,焦点与它的绘制方式类似

向上方向的精灵示例(清晰图像)

但由于某种原因,当我沿对角线方向移动玩家时,它会变得有点模糊

对角线向上/向右方向的精灵示例(模糊图像)

我只是绕着它的原点(精灵的中心)旋转对象,除了旋转和原点之外,我没有弄乱任何其他绘制属性

有人能解释一下为什么会发生这种情况吗?这就是精灵旋转时发生的情况吗?有没有办法旋转精灵并保持其锐度?

---我不确定这是否重要,但在我的精灵表中,精灵是朝着向上的方向绘制的---

我不确定这是否重要,但在我的精灵表中,精灵是朝着向上的方向绘制的


确实如此。当精灵上下移动时,绘制到屏幕上的像素可以与精灵表中的像素完全相同,因为它们与缓冲区对齐。当图像旋转时,需要进行计算以确定最佳着色像素。这会导致一些像素变灰,而不是全部黑白,从而导致“模糊”。您可以通过使用抗锯齿设置来获得满意的效果,但对于具有类似于您的精灵的硬线的精灵,这可能是一个更大的问题。

“对于具有类似于您的精灵的硬线的精灵,这可能是一个更大的问题。”。“-这意味着这个问题在像素艺术方面会更少发生?谢谢你的反馈。我必须对c#中的抗锯齿进行研究,看看我可以添加哪些代码,这可能会有所帮助。通常“像素艺术”已经稍微模糊,以混合颜色并使边缘看起来更好。这意味着旋转图像时出现的模糊效果不明显。