网站大量收购独家精品文档,联系QQ:2885784924

7游戏制作之声音实现.pptVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7游戏制作之声音实现.ppt

网络游戏脚本编程 游戏编程 加入游戏声音 本章内容 加入声音 1.需要声音函数库. 2.准备声音源文件. 3.创建声音对象 4.调用与声音有关的函数完成发声效果. OpenAl32.DLL OpenAL是一个声音系统的API库。 对在模拟的三维环境里产生声音提供了现成的函数支持. 许多游戏引擎采用它作为声音库 声音描述 1.声音数据集的创建: New AudioDescription(myaudio) { Volume=1.0; //音量. Islooping=false;//声音是否重复播放. Is3d=false;//告诉Torque是否需要处理位置信息 Type=0; //实质频道. }; 声音描述指出了声音的属性信息.但它并没有具体指出是描述哪个具体的声音源. 创建声音对像 实质就是将特定的声音文件读入内存和前面创建的声音描述对像绑定起来形成一个新的声音对像.这样就明确了对哪个音源进行控制了.例: $test=alxcreatesource(“myaudio”,expandfilename(“~/data/sound/test.wav”)); 返回值是一个声音对像的句柄.在调用声音回放函数时需要这个句柄作为参数. 声音回放 Alxplay($test);//函数的参数是一个由音源和数据集绑定在一起的声音对像的句柄. 调整音量 调整音量要在播放之前做. Alxlistenerf(AL_GAIN_LINEAR,%volume); $test=alxcreatesource(“myaudio”, expandfilename(“~/data/sound/test.wav”)); Alxplay($test); AL_GAIN_LINEAR//表示线性调整音量. 加入声音过程小结 1.构造声音描述对象. 2.绑定声音描述对象和声音源文件形成一个新的可回放的声音对象. 3.调整音量.//它必须在回放之前. 4.回放. 第二种加入声音方法 1.创建AudioProfile对象. New AudioProfile(myaudioprofile) { filename=“~/data/sound/test.wav”; Description=“myaudio”;//之前创建的声音描述对像 }; 2.回放.//它也可以在回放之前控制音量. Alxplay(myaudioprofile,100,100,100); //后面三个参数是游戏世界中的坐标位置.这种方法回放的声音有3D效果.听起来像是从某个位置传来的. 注意,使用此种方法时要将相应的声音描述对像里的is3D属性设为false. 此种方法可以在声音描述对像里修改声音传播范围. 声音数据描述的定义方法 客户端的定义方法: New audiodescription(audiotest){}; New audioprofile(audiotestprofile){}; 服务器端的定义方法: Datablock audiodescription(audiotest){}; Datablock audioprofile(audiotestprofile){}; 试验 首先确保以下代码存在. $pref::Audio::driver = OpenAL; $pref::Audio::forceMaxDistanceUpdate = 0; $pref::Audio::environmentEnabled = 0; $pref::Audio::masterVolume = 1.0; $pref::Audio::channelVolume1 = 1.0; $pref::Audio::channelVolume2 = 1.0; $pref::Audio::channelVolume3 = 1.0; $pref::Audio::channelVolume4 = 1.0; $pref::Audio::channelVolume5 = 1.0; $pref::Audio::channelVolume6 = 1.0; $pref::Audio::channelVolume7 = 1.0; $pref::Audio::channelVolume8 = 1.0; 试验 还要确保对声音初始化成功. 在common/client/audio.cs中有一个函数用于声音驱动程序初始化:function OpenALInit() 它包装了控制台函数:OpenALInitDriver(). 此函数执行成功与否可以查看日志. 试验 在根main.cs中加入以下内容: 1.定义一个声音描述对像. 2.定义一个AudioProfile对象并且把一个声音文件与上面的数据块对像绑定. 3.定义两个函数,分别采用两种方法来发声

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档