あさりのみそしるダイアリー

言いたいことを言える世の中の方がいいよね(´・ω・`)

原因は「SpriteBatch」

なんか唐突ですがひさびさのプログラミングネタです。
メモがわりということで一応書いておきます。

以前、プログラミングネタで「XNA」なるものをC#ではじめたよということを書きました。
で、いろいろと書いてみて、とりあえずモデルデータを読み込んで適当に配置していきながらコツなんかをつかめたらいいなと思っていたのですが・・・


イメージ 1

イメージ 2


なぜか奥のほうにあって本来隠れているべきものが手前に来てしまっています。
zバッファが正常に動作していないのでしょうか?


イメージ 3

でまぁ、いろいろと調べていると、「SpriteBatch」が原因みたい。
ソースはあまりキレイじゃないのでそんなに見ないでおいて、とりあえず

spriteBatch.Begin();

spriteBatch.End();

この部分をコメントアウトします。

イメージ 4

こんな感じ。


イメージ 5

イメージ 6

そしたらちゃんとあるべき姿になりました。
それに、テクスチャ画像もちゃんと表示されるようになりました。


割と早いうちに解決してよかったです。
でも、これだとSpriteBatchが使えません。base.Draw(gameTime);直前にSpriteBatchをおくと先のようになってしまいます。どうしたらいいのか、これについてはもう少し調べてみないとわかりませんね。

一応、この形になっただけでも大きな進歩ではあると思います。