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),它工作得非常好。