×

注意!页面内容来自https://blog.csdn.net/moonhot537/article/details/51605804,本站不储存任何内容,为了更好的阅读体验进行在线解析,若有广告出现,请及时反馈。若您觉得侵犯了您的利益,请通知我们进行删除,然后访问 原网页

unity3d动态加载声音的方法

本文介绍了一种在游戏中动态加载和播放音效的方法。通过将音效文件存放在Resources文件夹内,利用Unity的Resources.Load方法加载指定的AudioClip资源,并通过AudioSource组件播放这些音效。

在实现游戏对象控制的时候,经常会根据游戏对象的行为加载不同种类的声音,例如人物行走时的脚步声,开门时候的声音,拾取物体的声音等。这就需要动态进行加载,实现方法当然有很多种,这里只是结合我的实际开发,讲解一种比较常用的实现方法。

首先需要建立一个名为Resources的文件夹,并且把需要动态加载的声音文件放到该文件下。

加载脚本函数:

public void Play(string str)

{

         AudioClip clip =(AudioClip)Resources.Load(strtypeof(AudioClip));//调用Resources方法加载AudioClip资源

         PlayAudioClip(clip);

}

该函数就是根据声音文件名称,进行动态加载和播放声音的。

 播放声音的时候需要在游戏对象中添加AudioSource组件,一般在游戏主角对象上面添加该组件并且编写声音控制的脚本,例如当人物行走时在设置行走动画控制过度参数时就可以调用下面的函数PlayAudioClip.

public void PlayAudioClip(AudioClip clip)

{

  if (clip== null)

                 return;

         AudioSource source = (AudioSource)gameObject.GetComponent("AudioSource");

         if (source == null)

                 source =(AudioSource)gameObject.AddComponent("AudioSource");

         source.clip = clip;

  source.minDistance= 1.0f;

  source.maxDistance= 50;

  source.rolloffMode= AudioRolloffMode.Linear;

         source.transform.position =transform.position;

         source.Play();

}

 

确定要放弃本次机会?
福利倒计时
: :

立减 ¥

普通VIP年卡可用
立即使用
参与评论 您还未登录,请先 登录 后发表或查看评论
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
点击重新获取
扫码支付
< type="text/css">
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值