XNA精灵缩放:从精灵的中心寻找均匀的扩展

XNA精灵缩放:从精灵的中心寻找均匀的扩展,xna,sprite,scaling,Xna,Sprite,Scaling,当我缩放我的精灵时,它会延伸到右下角,这时想要的效果是它保持不变,并在同心圆中“生长” 我摆弄着原点,但它似乎只影响旋转。我也曾考虑过使用边界矩形来缩放它,但我正在寻找一种最佳实践,以避免一开始就养成坏习惯 这是我打电话的密码。唯一更改的参数是缩放: SpriteBatch.Draw(Texture, // Texture Position, // Position

当我缩放我的精灵时,它会延伸到右下角,这时想要的效果是它保持不变,并在同心圆中“生长”

我摆弄着原点,但它似乎只影响旋转。我也曾考虑过使用边界矩形来缩放它,但我正在寻找一种最佳实践,以避免一开始就养成坏习惯

这是我打电话的密码。唯一更改的参数是缩放:

SpriteBatch.Draw(Texture,            // Texture
                          Position,           // Position
                          null,               // Source Rectangle
                          Color,              // Color
                          0f,                 // Rotation
                          Vector2.Zero,       // Origin
                          Scale,              // Current Scale
                          SpriteEffects.None, // Mirroring options
                          Depth);             // z-depth
下面是橙色圆环在不“堆叠”的情况下展开的屏幕截图:

谢谢你抽出时间


以下是固定版本的详细信息,如果有帮助的话:

传递到
SpriteBatch.Draw
的精灵原点以精灵坐标(像素)指定,并用作缩放以及旋转和位置的原点


比例被指定为一个乘数(因此
Vector2.One
为“正常”大小)。

我添加了更多信息和屏幕截图。在你回答之后,我起初没有得到它,但通过将原点指定为新的Vector2(Texture.Width/2f,Texture.Height/2f),它工作得非常好。