摘要: 问题 在大多数情况中,你想在多个图像的上面绘制另一张图像。主要问题是,如果所有的图像都是完全覆盖屏幕的,那么它们就会覆盖前面的一张图像。你还要确保首先绘制背景图像。 解决方案 使用XNA,你可以指定层(layer),或者说图像的绘制深度。位于最大深度的图像会被首先绘制。 大多数图像格式支持透明。这意味着除了包含红、绿、蓝的颜色信息,它还包含alpha信息。当开启透明时,图像的透明区域会显示图像下面... 阅读全文
posted @ 2010-11-16 15:09 AlexCheng 阅读(368) 评论(0) 推荐(0)
摘要: 问题 在将图像绘制到屏幕前你想对它进行旋转,缩放或镜像操作。 解决方案 SpriteBatch 类(见前一个教程)的Draw方法的不同重载可以让你很简单地进行上述操作。 工作原理 旋转/缩放/镜像一个图像 SpriteBatch.Draw方法有几个有用的重载。下面是最复杂的一个重载方法,参数会在后面加以讨论: public void Draw (Texture2D texture,Vector2... 阅读全文
posted @ 2010-11-16 14:41 AlexCheng 阅读(754) 评论(0) 推荐(0)
摘要: 问题 你想将一张2D图像绘制到屏幕中以创建一个2D游戏或作为3D游戏的用户界面。你想有一个简单界面可以指定图像显示在屏幕上的位置。 解决方案 XNA Framework已经以SpriteBatch类的形式提供了这个功能,它可以以一个有效率的方式绘制图像。 虽然SpriteBatch的设计以易用性为优先考虑,但它也允许你可以选择一些优化性能的方法,你会在这个教程中看到详细介绍。 注意:因为每个图像是... 阅读全文
posted @ 2010-11-16 11:25 AlexCheng 阅读(490) 评论(0) 推荐(0)