XNA中 SpriteSortMode 与 BlendState 《摘自王磊文章》

             * SpriteSortMode - 精灵在游戏窗口上绘制的排序方式,默认值为:SpriteSortMode.Deferred 

             *     SpriteSortMode.Deferred - 调用 End() 的时候,绘制精灵,绘制的顺序就是调用 Draw() 方法的顺序 

             *     SpriteSortMode.Immediate - 调用 Draw() 方法时,立即绘制相应的精灵(此模式下在 Begin...End 之间不能再有其他 SpriteBatch 对象,其他模式无此限制) 

             *     SpriteSortMode.FrontToBack - 调用 End() 的时候,绘制精灵,根据层深度(layerDepth)从小到大依次绘制 

             *     SpriteSortMode.BackToFront - 调用 End() 的时候,绘制精灵,根据层深度(layerDepth)从大到小依次绘制 

             *     SpriteSortMode.Texture - 调用 End() 的时候,绘制精灵,按照纹理的优先级依次绘制 

             */

 

* BlendState - 精灵与当前游戏界面的混合方式,默认值为:BlendState.AlphaBlend 

             *     BlendState.AlphaBlend - 使精灵的 Alpha 值有效 

             *     BlendState.Additive - 精灵的 Alpha 值有效,同时精灵与当前游戏界面相互混合 

             *     BlendState.Opaque - 使精灵完全不透明 

             *     BlendState.NonPremultiplied - 在 Content Pipeline 没对内容做 Alpha 预处理的情况下,在 Draw 时及时处理 Alpha 值 

             *         在内容项目中选择一个资源,然后查看其属性,其 Content Processor -> Premultiply Alpha 默认值为 true,即 Content Pipeline 会对内容做 Alpha 预处理 

             *         如果内容的 Processor -> Premultiply Alpha 设置为 false,则即使在 BlendState.AlphaBlend 模式下,精灵原有的 Alpha 值也不会生效,此时若要使精灵的 Alpha 值生效,则需要设置为 BlendState.NonPremultiplied 

             */

posted @ 2011-07-09 00:11  四条腿的人马  阅读(524)  评论(0编辑  收藏  举报