- 691 名前:名前は開発中のものです。 mailto:sage [2008/03/02(日) 22:44:28 ID:keBEe7WT]
- >>689
ありがとうございます。 半透明ではなく透明度ゼロのスプライトの表示ですね。 奥から、地形、アイテム、キャラ、弾丸(←こいつにAdditiveが混ざってる)、エフェクト、メニュー(←こいつが半透明) という表示をしたくて、spriteBatch.Drawの最後の引数の値で管理してます。 AlphaBlend用のSpriteBatch(Aとする)とAdditive用のSpriteBatch(Bとする)をそれぞれ持っておくというのは合ってて、 下記のように呼べばOKでしょうか? ただ、この場合、弾もメニューも他のものもDrawableGameComponentを継承した、○○Managerというのを作って、 そのDrawメソッドの中でそれぞれのオブジェクトのDrawメソッドを呼んでいるのですが、DrawableGameComponentにしちゃうと まとめてGameから呼ばれちゃうので、弾ManagerとメニューManagerはDrawableGameComponentにせずに別管理になるということでしょうか。 //地形、アイテム、キャラ描画 SpriteBatch_A.Begin(Blend); SpriteBatch_A.Draw( 地形とかアイテムとかキャラとか ); SpriteBatch_A.End(); //弾 SpriteBatch_A.Begin(Blend); SpriteBatch_B.Begin(Additive); if ( 弾.blendmode == AlphaBlend ) { SpriteBatch_A.Draw( 弾 ); } else { SpriteBatch_B.Draw( 弾 ); } SpriteBatch_A.End(); SpriteBatch_B.End(); //メニュー SpriteBatch_A.Begin(Blend); SpriteBatch_A.Draw( メニュー ); SpriteBatch_A.End();
|

|