XNA学习笔记——SpriteBatch.Draw的layerDepth
2010-09-08 14:01
531 查看
spriteBatch.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.FrontToBack, SaveStateMode.None); spriteBatch.Draw(pic1, new Vector2(0, 0), null, Color.White, 0.0f, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f); spriteBatch.Draw(pic2, new Vector2(0, 0), null, Color.White, 0.0f, Vector2.Zero, 0.25f, SpriteEffects.None, 1.0f); spriteBatch.End();
SpriteSortMode为FrontToBack的情况下,是pic1先画,pic2后画,因为pic2图片尺寸大于pic1,所以pic2会完全覆盖pic1.结果如下
如果改成
spriteBatch.Draw(pic1, new Vector2(0, 0), null, Color.White, 0.0f, Vector2.Zero, 1.0f, SpriteEffects.None, 1.0f);
结果如下
虽然pic1和pic2的layerDepth是相等的,但结果是pic2先画,pic1后画。即使把SpriteSortMode改为BackToFront,结果不变。所以当两者的层深相等时,可以想象成后进先出的情况。
相关文章推荐
- XNA学习笔记——SpriteBatch.Draw的origin参数
- XNA学习笔记——SpriteBatch.Begin的Matrix参数
- XNA-SpriteBatch.Draw()的重载方法
- xna 4.0 在3D 场景中用spritebatch 写2D文字3D显示不正常的问题
- xna中spritebatch的draw函数重载的七种应用解析
- XNA中SpriteBatch.Begin()重载中的BlendState解析
- SpriteBatch and renderstates in XNA Game Studio 4.0
- [Extjs6] Ext.draw.Container 添加sprite并添加spriteevents事件处理函数
- cocos2dx-3.0(13)------SpriteBatchNode与SpriteFrameCache渲染速度
- AndEngine_example1.4 画SpriteBatch(和libgdx的类似)
- LibGDX_3.2: 纹理画布(SpriteBatch)
- XNA学习笔记——相机设置
- XNA游戏开发之(四)——改变Draw频率
- iOS_31_cocos2d_SpriteBatchNode
- AndEngine之DEMO学习(五)SpriteBatchExample
- XNA学习笔记——Quake式相机
- cocos2d-SpriteBatchNode与SpriteFrameCache加快渲染的优缺点
- 浅谈Draw Call和Batch的区别
- libGDX中Textures TextureRegion SpriteBatch
- 浅谈Draw Call和Batch的区别