C# SpriteBatch.DrawString中原点参数和位置参数之间的差异

C# SpriteBatch.DrawString中原点参数和位置参数之间的差异,c#,xna,C#,Xna,使用C#和XNA框架,调用SpriteBatch.DrawString方法时,“position”和“origin”参数之间有什么区别?origin是与位置相关的偏移量 位置与字符串的左上角相关 如果要旋转字符串,它将围绕该角旋转,但如果要在给定位置围绕字符串的中心旋转,则必须将原点设置为字符串的一半大小 它还允许您围绕任意点旋转,使用原点进行正确的数学运算 如果要将字符串居中对齐,则必须将“原点”设置为字符串的一半大小,并且字符串将在该位置居中 如果要将字符串右对齐,则必须将原点设置为字符串

使用C#和XNA框架,调用SpriteBatch.DrawString方法时,“position”和“origin”参数之间有什么区别?

origin是与位置相关的偏移量

位置与字符串的左上角相关

  • 如果要旋转字符串,它将围绕该角旋转,但如果要在给定位置围绕字符串的中心旋转,则必须将原点设置为字符串的一半大小

  • 它还允许您围绕任意点旋转,使用原点进行正确的数学运算

  • 如果要将字符串居中对齐,则必须将“原点”设置为字符串的一半大小,并且字符串将在该位置居中

  • 如果要将字符串右对齐,则必须将原点设置为字符串的大小


    • 有点老了,但我认为这对其他在搜索此主题时遇到此主题的人会有所帮助。这也让我困惑,所以我把这张图片放在一起帮助我


      .

      有点老了,但我不完全同意你的照片^^我认为原点与位置点颠倒了。精灵的位置始终是带有XNA的精灵的左上角,它是您可以移动到任何地方的原点。