unity3d动态加载声音的方法

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

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

加载脚本函数:

public void Play(string str)

{

         AudioClip clip =(AudioClip)Resources.Load(str, typeof(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();

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值