目录
- 前言
- 导入音乐
- 编写脚本
前言
之前使用脚本对uniry中的模型进行了控制,诸如使用键盘控制对象模型的移动或者使用鼠标对对象模型进行角度的切换(或者是类似的东西),而我们在游戏的过程中,总是伴随着一些好听的bgm(背景音乐),今天我们也来给我们的场景中添加bgm吧
导入音乐
首先在unity中创建一个文件夹用来存放需要导入的音频文件
然后创建一个音频对象
在这个对象上添加一个Audio Source组件
这样我们就有了控制这个对象的组件,这个组件中的各种功能在此就不做赘述,在字面也很容易理解
接下来就编写对该模型控制的脚本代码
编写脚本
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class newscript : MonoBehaviour
{
// Start is called before the first frame update
AudioSource ads;
AudioClip ac;
List<AudioClip> acs = new List<AudioClip>();
int j = 0;
void Start()
{
#region source
//ads = GetComponent<AudioSource>();
//ads.Play();//播放
// ads.Pause();//暂停
// ads.UnPause();//继续播放
// ads.PlayOneShot();//播放一次
// ads.volume;//音量
// ads.playOnAwake;//唤醒时播放
// ads.mute;//静音
//ads.loop;//循环
// ads.isPlaying;//是否播放中
// ads.clip;//声音片段
#endregion
//加载音频设置
ac = Resources.Load<AudioClip>("Assets/resource/AudioClip/1.mp3") as AudioClip;
ads = GetComponent<AudioSource>();
for(int i = 0;i < 3; i++){
ac = Resources.Load<AudioClip>("Assets/resource/AudioClip/1.mp3") as AudioClip;
acs.Add(ac);
}
}
// Update is called once per frame
void Update()
{
changeVolume();
playMusic();
changeMusic();
}
private void changeMusic()
{
if (Input.GetKey(KeyCode.Tab))
{
ads.clip = acs[j];
ads.Play();
if (j < acs.Count - 1)
{
j++;
}
else
{
j = 0;
}
}
}
private void playMusic()
{
if (Input.GetKey(KeyCode.B))
{
if (ads.isPlaying)
{
ads.Pause();
}
else
{
ads.UnPause();
}
}
}
private void changeVolume()
{
if (Input.GetKey(KeyCode.M))
{
ads.volume += 0.5f;
}
if (Input.GetKey(KeyCode.N))
{
ads.volume -= 0.5f;
}
}
}
这样就对音乐进行了操作,包括使用键盘点击Tap切换音乐,点击B控制音乐的暂停与播放,点击M控制音量的增减等,当然还有很多可以进行的操作,在这里也不展开进行论述,感兴趣的可以自行查找添加
在后台可以看到音乐的播放与控制
以上。