私は2スプライトのスプライトシートを持っています。各スプライトは40x60です。画像の合計サイズは40x120です。 このように見えます(赤い線は第1スプライトの一部です)。私はなぜそれを追加したのか、もう一度教えてあげます。XNA/Monogameを使用してスプライトシートからスプライトを描画する
なお、第2のスプライトを描画しようとしたときに何らかの理由で、それは常に前のスプライトの最後の行を取るだろうと思われます。私はそれを描くためにその赤い線を引いた。
これは第二のスプライト描画私のコードです:私が間違ってやっている任意のアイデアを
:
Rectangle rect = new Rectangle(0, 60, 40, 60); // Choose 2nd sprite
Vector2 pos = new Vector2(100, 100);
Vector2 origin = new Vector2(0, 0);
spriteBatch.Begin();
spriteBatch.Draw(mSpriteTexture, pos , rect, Color.White, 0.0f, origin, 6, SpriteEffects.None, 0.0f);
spriteBatch.End();
をそして、これは私がプログラムを実行すると、それがどのように見えるかです?
注:この例では、スケール= 6を使用しています。スケール> 1のときにこの問題が常に起こると思われるので、私はこれを行いました。スケール= 1の場合、常に発生するとは思われません。
は、あなたが二スプライトを選択する際のRectangle Y位置に61を使用してみましたか? – Steven
それは動作しません。スプライトはさらに重複します。 – LEM
この問題はいくつかの可能な解決策でここで議論されています:https://gamedev.stackexchange.com/questions/45764/xna-2d-spritesheet-drawing-rendering-problem – Monacraft