unity3d 怎么用脚本控制播放制定音乐文件

unity3d 怎么用脚本控制播放制定音乐文件,第1张

比较常用的方法,就是新建一个gameobject,然后添加audio source组件,在audio source组件中设置好自己要播放的音乐(音效),以及相关数据。当然,默认是对象一被实例化就播放,但是这个也可以在设置中取消。

新建一个脚本绑定到上面,然后可以通过audio.Play()来播放。

http://docs.unity3d.com/ScriptReference/AudioSource.html

方法一。

此方法可以通过脚本控制音乐的播放,按照需要修改代码即可实现不同的播放需求。

为游戏对象添加AudioSource组件。

选择音乐并进行相关的设置。

编写控制音乐播放的脚本。

usingSystem.CollectionsusingSystem.Collections.GenericusingUnityEnginepublicclassmusic:MonoBehaviour//脚本名与类名要一直,此代码脚本名为music{publicAudioSourceaudiovoidStart()。

AudioListener组件默认绑定在主摄像机上,这个组件的功能相当于耳朵,用来听声音的。

1.背景音乐

选中音乐文件,建议不勾选3D Sound选项。

在Main Camera下创建一个空物体,添加AudioSound组件,AudioClip选择要播放的音乐。

Loop必须勾选,循环播放。

勾选PlayOnAwake,场景一进来就开始播放,如果不勾选找个合适时机Play()。

2.NGUI的UIPlaySound

在摄像机直接添加个AudioSource组件,这个组件不挂任何AudioClip。(UIPlaySound将在这个组件上播放音效,在这里调整Volume能控制所有UIPlaySound的音量大小。UIPlaySound的Volume属性只控制自己的音量,最后的音量是这两个音量值相乘。)

3.碰撞触发的音效

public AudioClip AC;

OnCollisionEnter(Collision collision)

//或者OnTriggerEnter(Collider collider)

{

//被撞得物体原点发出声音(第二个参数用来设置发出声音的世界坐标,不要离AudioListener太远)

AudioSource.PlayClipAtPoint(AC, transform.localPosition)

}

4.Animation动作回调的音效

public class AnimationCallSound : MonoBehaviour

{

//防止同一个动作多次注册回调

public static List<string>isHaveevent = new List<string>()

//调用事件

public float EventTime

//要播放的音效(必须绑定一个AudioSource组件)

public AudioSource AS

void Start ()

{

if (AS == null)

Debug.LogError("没有绑定音效")

AddEvent()

//防止场景内动作相同的物体动作同步

Invoke("PlayAnim",Random.Range(0.1f,5.5f))

}

void PlayAnim()

{

animation.Play()

}

//给Animation动画注册回调事件

void AddEvent()

{

foreach (string name in isHaveevent)

{

if (animation.clip.name == name)

return

}

AnimationEvent auidoEvent = new AnimationEvent()

auidoEvent.time = EventTime

auidoEvent.functionName = "PlayAudio"

animation.clip.AddEvent(auidoEvent)

isHaveevent.Add(animation.clip.name)

Debug.Log("add " + animation.clip.name + " Event!")

}

public void PlayAudio()

{

AS.Play()

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11636727.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存