[翻译]XNA 3.0 Game Programming Recipes之thirteen
PS:自己翻译的,转载请著明出处 3-3 使用图层渲染透明图片 问题 在大多数情况下,您会希望在彼此之间上部多绘制些图片。现在的主要问题是,所有的图片都是完整的矩形,所以他们将覆盖早些时候提供的图片。您还需要确认您提供的背景的第一副图片。 解决方案 使用 XNA ,你可以指定层,或者图象即将绘制的深度。当你调用 SpriteBatch.Draw 方法, XNA 可以帮你排列图象,所以图象上最深的就是第一个被绘制。 大多树图片的格式都支持透明。意思是说除了红,绿,蓝颜色的信息,他们还带有 alpha 信息。 当透明度已启用, 透明区域的图像将显示下面的图片。 在 XNA ,你可以指定一个颜色,可以作为透明处理。这对图片非常有用,没有任何透明度信息编码。 它是如何工作的 简单透明 SpriteBatch 类具有处理图象的能力和透明的信息。成功运用于很多情况,如当你绘制绿草地的2D图象时,你想绘制一块岩石到它的上面。这样说,岩石的形象是石头在其中心一个简单的白色形象。如果您绘制岩石图在草的上面,你也看到岩石的白色背景图像上有草! 所以,你需要设置图象的背景的透明度。这种方法,当你绘制石头在草地的上面时,岩石图象的透明区域将得到草下面的颜色。请注意,图像的每个像素需要指定是否该像素应该是否透明。这一额外的信息被称为 Alpha 值是存储旁边的红色,绿色和蓝色通道的 alpha 通道。