Learning XNA 4.0 第三章(4)_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > Learning XNA 4.0 第三章(4)

Learning XNA 4.0 第三章(4)

 2011/1/14 7:39:31  裴小星  http://xxing22657-yahoo-com-cn.javaeye.com  我要评论(0)
  • 摘要:透明度及其它选项当往屏幕上绘制多个精灵的时候,您可以(而且也应该,出于速度的考虑)在SpriteBatch.Begin和SpriteBatch.End之间绘制尽可能多的精灵。实际上您应该做的是在游戏中用一个SpriteBatch对象然后在Begin和End之间绘制所有的2D图像。就像您在图3-4中看到的那样,我们使用的XNALOGO有很难看的白色背景,如果它变为透明的话或许看起来要好很多。有两种方法可以使图像部分透明:要么图像文件本身有透明的背景,要么将图像中您希望显示为透明的部分设置为洋红色
  • 标签:

透明度及其它选项

  当往屏幕上绘制多个精灵的时候,您可以(而且也应该,出于速度的考虑)在SpriteBatch.Begin和SpriteBatch.End之间绘制尽可能多的精灵。实际上您应该做的是在游戏中用一个SpriteBatch对象然后在Begin和End之间绘制所有的2D图像。

  就像您在图3-4中看到的那样,我们使用的XNA LOGO有很难看的白色背景,如果它变为透明的话或许看起来要好很多。

  有两种方法可以使图像部分透明:要么图像文件本身有透明的背景,要么将图像中您希望显示为透明的部分设置为洋红色(255, 0, 255)——XNA会自动将洋红色渲染成透明的。透明度可以存储到某些文件格式中(如.png文件)用作alpha 通道。这种格式不仅仅包含RGB值,每个像素还有一个额外的alpha通道(RGBA中的A)来确定像素的透明度。

  如果您有一个图像处理工具,您可以用它来为您的图像创建透明背景。Paint.Net是一个用.NET编写的很棒的免费图像处理工具,您可以从http://www.getpaint.net获得它。

  接下来的例子中我将使用另一个带透明背景的XNA LOGO,也包含在本部分的源码中,文件名是logo_trans.png。

  用同样的方法将透明XNA LOGO图像文件添加到项目中:右键点击解决方案资源管理器中的CollisionContent\Images节点,选择Add→Existing Item,然后定位到第3章的源码的BasicSprite文件夹,logo_trans.png在BasicSprite\CollisionCollision\Content\Images文件夹下。不要移除项目中的另一个XNA LOGO文件,因为您还要用它做绘制多个图像的试验。

  将透明的logo加入到项目中之后,需要为新的logo添加另一个类成员变量Texture2D:

  • 相关文章
发表评论
用户名: 匿名