我使用XNA来可视化一些数据,我试图使用数据广告牌和spritebatch进行HUD文本绘制。XNA SpriteBatch导致BasicEffect出现问题
对于广告牌,我用下面的例子中,伟大的工程: http://create.msdn.com/en-US/education/catalog/sample/3d_audio
在这个例子中,有一个猫,狗精灵,这里的猫经过前面或后面的狗,取决于他们的位置和相机的位置,如你所料。 Cat.Draw和Dog.Draw被调用的顺序并不重要。这些人是从BasicEffect中抽取的。
但是,如果我添加一个继承DrawableGameComponent并使用SpriteBatch的类,其他组件中的BasicEffect将失去深度排序,并且Quads按照调用顺序绘制。请注意,此组件通过this.Components.Add(...)添加到Game类。
BasicEffect和SpriteBatch之间是否存在不兼容?每当调用SpriteBatch.Begin()/ End()时都会出现问题。如果我不这么称呼,那么猫/狗就会呈现出来。
任何想法?
非常感谢您指出了这一点。由于我使用XNA4,因此我不得不按照您发布的文章顶部的2010更新链接。花了我5秒,像魅力一样工作。再次感谢。 – bufferz 2011-02-04 20:36:54