【问题标题】:How can I change the rotation center of a rectangle when drawing it as a sprite?将矩形绘制为精灵时如何更改其旋转中心?
【发布时间】:2013-01-16 19:17:35
【问题描述】:

我通过使用一个像素的绘画图片在 XNA 中绘制一条线,然后将该像素拟合到一个高度为 100 的矩形中,长度为 2,因此它显示为一条线。这样我以后可以画一个矩形。

我也想旋转矩形,但旋转中心始终是左上角。我该如何更改?

【问题讨论】:

  • 您的意思是说您正在创建一个新的 Texture2D,您稍后会绘制它?我不明白“将像素放入矩形”是什么意思。你当前的 Draw() 调用是什么样的?

标签: c# xna rotation spritebatch drawrectangle


【解决方案1】:

使用Draw 方法的this overload。您可能希望将 origin 参数设置为非零向量。

【讨论】:

    【解决方案2】:

    在 Draw() 方法中设置 Origin 参数。

    public void Draw (
         Texture2D texture,
         Vector2 position,
         Nullable<Rectangle> sourceRectangle,
         Color color,
         float rotation,
         Vector2 origin,
         Vector2 scale,
         SpriteEffects effects,
         float layerDepth
    

    )

    地点:

    起源

    精灵来源;默认为 (0,0),代表左上角。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-19
      • 1970-01-01
      • 2013-08-26
      • 1970-01-01
      • 1970-01-01
      • 2023-02-23
      • 1970-01-01
      相关资源
      最近更新 更多