文章目录
- 前言
- 其他介绍
- 上一篇笔记
- 下一篇笔记
- 一、项目结构
- 二、脚本
- [1]. 获取音频组件
- [2]. 按键监听
- [3]. 判断播放状态
- [4]. 开启或关闭音频
- [5]. 全部代码
- 三、创建Audio Source
前言
音乐播放时按下指定按键关闭音乐,未播放时按下按键开启音乐。
通过激活和关闭Autdio Source
组件来实现。
Unity版本: 2019.4.26
Visual Studio版本: 2019
其他介绍
微软官方C#函数文档
Unity官方API文档(英文)
Unity官方API文档(中文)
Unity官方用户手册(中文)
Unity游戏蛮牛API文档(中文)
Unity教程-C语言中文网
Unity用户手册-unity圣典
Unity组件手册-unity圣典
Unity脚本手册-unity圣典
上一篇笔记
Unity(7)-控制2D物体移动
下一篇笔记
Unity(9)-TileMap瓦片地图
一、项目结构
二、脚本
[1]. 获取音频组件
背景音乐是通过
Audio Source
组件播放
先声明一个
AudioSource
类型的变量,并在游戏开始的时候获取预制体上的Audio Source
组件
private AudioSource au;//音频组件// Start is called before the first frame updatevoid Start(){au = GetComponent<AudioSource>();//获取音频组件}
[2]. 按键监听
当按下空格键时,我们才执行进一步的操作
KeyCode.Space
表示空格键,Input.GetKeyDown()
用来监听按下的按键
void Update(){if(Input.GetKeyDown(KeyCode.Space))//如果按下了空格键{}}
[3]. 判断播放状态
对象名.isPlaying
是一个bool
类型的参数
音乐正在播放时值为true
,否则为false
void Update(){if(Input.GetKeyDown(KeyCode.Space))//如果按下了空格键{if (au.isPlaying)//正在播放背景音乐时{}else//未播放背景音乐时{}}}
[4]. 开启或关闭音频
- 通过设置
对象名.enable
的值可以启用AudioSource
组件
处于开启状态可以播放音效, 左侧会有✔
- 开启音频时,不会继续之前的音乐进度,而是重新播放该音乐。
void Update(){if(Input.GetKeyDown(KeyCode.Space))//如果按下了空格键{if (au.isPlaying)//正在播放背景音乐时{au.enabled = false;//取消该组件//方式二 au.Stop();}else//未播放背景音乐时{au.enabled = true;//激活该组件//方式二 au.Play();}}}
[5]. 全部代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Music : MonoBehaviour
{private AudioSource au;//音频组件// Start is called before the first frame updatevoid Start(){au = GetComponent<AudioSource>();//获取音频组件}// Update is called once per framevoid Update(){if(Input.GetKeyDown(KeyCode.Space))//如果按下了空格键{if (au.isPlaying)//正在播放背景音乐时{au.enabled = false;//取消该组件//方式二 au.Stop();}else//未播放背景音乐时{au.enabled = true;//激活该组件//方式二 au.Play();}}}
}
三、创建Audio Source
在
Hierarchy
窗口中右键,选择Audio
的Audio Source
创建之后把它拖动到预制体文件夹
选择这个预制体,添加一个
C#
脚本
将自己的音乐文件拖动到
Audio Source
组件的AudioClip
参数中
参数 | 介绍 |
---|---|
AudioClip | 当组件被激活时会播放 |
Output | 当组件被取消时会播放 |
如果场景中没有游戏对象时,需要把这个预制体移动到场景中
之后开始游戏就会有背景音乐了