使用 SpriteBatch.Draw XNA Framework 显示时 Sprite 会拉伸

Sprite stretches when displayed with SpriteBatch.Draw XNA Framework

当使用 XNA Framework spriteBatch.Draw() 时,尽管两个轴上的比例看似相同,但 sprite 看起来被拉伸了。据我所见,精灵应该位于距左侧 64 个单位的位置,并且应该压在 window 的顶部,但应该是正方形,而不是矩形。纹理是一个简单的 8x8 正方形。

代码:

spriteBatch.Draw(Content.Load<Texture2D>("enemies/blob/blob_walk0"), new Rectangle(64, 0, 128, 64), Color.White);

抱歉,如果这个问题不符合标准,我是 Whosebug 的新手,不知道自己在做什么。

new Rectangle() 使用一种方法,您必须以像素为单位定义以下内容:
(x, y, width, height).

在您的示例中,宽度为 128 像素,而高度为 64 像素。所以它的宽度会拉伸两倍。

128 替换为 64 会使宽度等于高度,并生成正方形。