回転縮小

回転縮小するためにはDirectXだと事前に合成する必要があるのですが、XNAだと結構楽ですね

private void DrawSprite(int idx, int x, int y) {

    this.spriteBatch.Draw(
        //テクスチャー
        SpriteTexture[idx],
        //スプライトを表示する位置
        new Vector2(x, y) + new Vector2(54, 75),
        //テクスチャーの転送領域(nullだと全部)
        null,
        //スプライトの色を掛け合わせる色
        Color.White,
        //スプライトの回転角度
        MathHelper.ToRadians(this.realRotate),
        //スプライトを回転させるときの回転軸の位置
        new Vector2(SpriteTexture[idx].Width / 2, 
                    SpriteTexture[idx].Height / 2),
        //スプライトの拡大率
        new Vector2(108.0f / SpriteTexture[idx].Width, 
                    151.0f / SpriteTexture[idx].Height),
        //スプライトの 示反転効果
        SpriteEffects.None,
        //スプライトを表示する深度
        0.0f
        );
    return ;
}

テクスチャーが配列なのはとりあえずカードの表裏用の画像(元のサイズが違うもの)で試したからです。
最初片方の画像が表示されなくて悩んでたら「108.0f」にすべきところを「108」にしてたから、integerで計算されて拡大率が0になってたよ…