【发布时间】:2011-02-05 11:06:39
【问题描述】:
我正在使用 XNA 来可视化一些数据,我正在尝试使用广告牌来获取数据,并使用 spritebatch 来绘制 HUD 文本。
对于广告牌,我使用了以下示例,效果很好: http://create.msdn.com/en-US/education/catalog/sample/3d_audio
在该示例中,有一个猫和狗精灵,猫在狗的前面或后面经过,具体取决于它们的位置和您所期望的相机位置。调用 Cat.Draw 和 Dog.Draw 的顺序无关紧要。这些家伙来自 BasicEffect。
但是,如果我添加一个继承 DrawableGameComponent 并使用 SpriteBatch 的类,则其他组件中的 BasicEffect 将失去它的深度排序,并且按照调用的顺序绘制四边形。请注意,此组件是通过 this.Components.Add(...) 添加到 Game 类中的。
BasicEffect 和 SpriteBatch 是否不兼容?每当调用 SpriteBatch.Begin()/End() 时都会出现问题。如果我不称之为猫/狗渲染就好了。
有什么想法吗?
【问题讨论】:
标签: xna