XNA游戏开发——播放音效(2)
摘要:上一篇文章已讲述了,如何简单的添加及播放音效,本篇文章将讲述音效实例。音效实例调用在SoundEffect对象的Play方法,提供简单的方法来播放声音,在很多情况下将会很充足。对于枪声,爆炸声,玩家成功的声音和其它各种各样的效果,这很可能都是你所需要的。然而,在其它地方,你可能发现需要很高的控制才能超过你播放的声音。循环播放声音的能力,举例,是非常有用的,但仅由SoundEffect类提供的功能不能提供这种能力。主要的原因是我们将没有办法去阻止声音;我们不能获得一个声音ID或任何类似的值,所以一旦激活一些声音后,我们将不能告诉类哪一个应该停止播放。在SoundEffectInstance类中可
阅读全文
posted @
2012-07-12 10:02
AppleSeeker(冯峰)
阅读(1885)
推荐(3)
XNA游戏开发——播放音效(1)
摘要:XNA提供一个相当灵活的方式在你的游戏中来播放音效。它可以同时播放多个声音(包括相同音效实例)以及提供控制音量等级,立体声像和音调转换。它可以循环播放或播放它们一次,同时也提供控制来允许声音暂停或恢复播放。向项目中添加音效音效作为工程内容的一部分来创建,已与所有在前一个章节中我们使用的其它资源数据一样(纹理和精灵文字)。它们使用相同方法添加进来:通过右键在解决方案浏览器中的主工程内容节点,然后选择“Add / Existing Item”。声音文件可以找到并添加到工程中。在添加一个声音文件后,你将能看到,内容项目的Content Importer属性设置为WAV Audio File,Cont
阅读全文
posted @
2012-07-10 14:23
AppleSeeker(冯峰)
阅读(1748)
推荐(2)
公告板
摘要:公告板是简单的四边形(平滑,平面或矩形的纹理对象),在游戏世界中渲染,所以它们直接面对相机。当相机围绕世界移动时,公告板对象旋转以便它们持续直接面对相机。不同于粒子系统,公告板有大量潜在的用途,包括渲染围绕光照的明亮光点的镜头光晕和使用2D图片渲染的基础树,如此,它们总是面对相机出现。对于很多类型的渲染对象,适用于公告板的这种方式将给予深度外观,即使对象实际上是完全平滑的。举例,想象下你想在你的游戏中去渲染没有纹理,未点亮的特殊对象。这样一个球体看上去正好和所有角度相同,所以如果你可以简化渲染一个平滑的球体绘制并保持它直接面对相机的角度,它将无法区分实际的球体,但需要相当少的计算能力来显示它。
阅读全文
posted @
2012-07-09 13:57
AppleSeeker(冯峰)
阅读(1492)
推荐(0)
粒子系统介绍
摘要:另一个有用的技术,许多游戏将从粒子系统使用中受益,它是小的,平滑的,在场景中使用透明来绘制来创建可以在你的游戏世界中添加大量气氛的各种效果的的纹理三角形。粒子系统添加到游戏中,就像任何其它对象那样,但有下列特征:1)它们经常使用一个称为公告板的技术来确定它们的方向以便它们直接面对相机。2)它们通常关闭写入深度缓冲以便它们不会封闭另一个。3)它们往往最后去渲染到每一次场景更新中。因为它们不会更新深度缓冲,渲染顺序防止在它们之后的对象出现在它们前面。4)它们差不多总是添加到一个组中而不是单独的。
阅读全文
posted @
2012-07-06 13:50
AppleSeeker(冯峰)
阅读(496)
推荐(0)
在游戏框架中实现天空体
摘要:为了尽量让使用天空体容易,我们将在游戏框架中整合一个特殊的天空体对象,允许我们来确保它是在场景中的任何内容的之前渲染。天空体创建一个新的游戏框架类:MatrixSkyboxObject。该类继承于MatrixObjectBase,它所对应的继承关系如图所示。在类中,为了天空体能包含立方体的4个面(包括顶部和底部面),代码创建一个顶点缓冲,所有面都朝向内部。它们使用纹理坐标来配置,在盒子内部围绕所提供的纹理。在天空体类的Update方法中,相机坐标通过读取它的Transformation.Translation属性来取得,并设置为天空体得自己的坐标。这样做确保天空体总是在相机中出现相同距离,无论
阅读全文
posted @
2012-07-05 13:45
AppleSeeker(冯峰)
阅读(749)
推荐(0)
创建天空体
摘要:天空体实际上作为一个立方管实现;它没有顶部或底部面。这大大简化为天空体创建图形的任务。用这种方式使用管子的效果已经隐藏在天空体的顶部,通过确保天空纹理的顶部边缘和场景的背景色有相同的颜色,使得在天空体终点处和背景的开始处很难看到它,除非它是直接看到的。在底部边缘,我们确保足够的面来绘制来隐藏纹理较低边缘。相反,它简单的消失在场景内容背后。如果你正在创建游戏,需要能够环顾立方体,包括向上和向下,你需要增强它来创建完全的立方体代替目前使用的管的形状。这是简单的问题,在天空体的顶部和底部添加2个额外的面,都指向里面。产生天空体图片可以是一个挑战的事,取决于哪类环境你所需要的。一个选择是去自己创建背景
阅读全文
posted @
2012-07-03 13:40
AppleSeeker(冯峰)
阅读(488)
推荐(0)