用角度绘制图像
Drawing image with an angle
编辑:下面的图片不应该有空格。我只是想向您展示我正在尝试从 1x64 图像创建一个矩形,其位置如第二张图片所示
我知道如何在 XNA 中像那样旋转图像
但是怎么可能画出这个角度的精灵呢?
我似乎无法找到答案,我正在整理想法
我发现这个例子使用矩阵,但我没有测试它。
Matrix matrix = Matrix.CreateRotationX(MathHelper.ToRadians(60)) *
Matrix.CreateRotationY(MathHelper.ToRadians(30)) *
Matrix.CreateScale(1,1,0);
spriteBatch.Begin(SpriteSortMode.Deferred, null, null, null, null, null, matrix);
Matrix CreateSkewY(float angle)
{
Matrix skew = Matrix.Identity;
skew.M21 = (float)Math.Tan((double)angle);
return skew;
}
spriteBatch.Begin(SpriteSortMode.Deferred, null, null, null, null, null,
CreateSkewX((float)Math.PI / 6));
编辑:下面的图片不应该有空格。我只是想向您展示我正在尝试从 1x64 图像创建一个矩形,其位置如第二张图片所示
我知道如何在 XNA 中像那样旋转图像
但是怎么可能画出这个角度的精灵呢?
我似乎无法找到答案,我正在整理想法
我发现这个例子使用矩阵,但我没有测试它。
Matrix matrix = Matrix.CreateRotationX(MathHelper.ToRadians(60)) *
Matrix.CreateRotationY(MathHelper.ToRadians(30)) *
Matrix.CreateScale(1,1,0);
spriteBatch.Begin(SpriteSortMode.Deferred, null, null, null, null, null, matrix);
Matrix CreateSkewY(float angle)
{
Matrix skew = Matrix.Identity;
skew.M21 = (float)Math.Tan((double)angle);
return skew;
}
spriteBatch.Begin(SpriteSortMode.Deferred, null, null, null, null, null,
CreateSkewX((float)Math.PI / 6));