前言

音乐播放时按下指定按键关闭音乐,未播放时按下按键开启音乐。
通过激活和关闭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 update
    void 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 update
    void Start()
    {
        au = GetComponent<AudioSource>();//获取音频组件
    }

    // Update is called once per frame
    void Update()
    {
        if(Input.GetKeyDown(KeyCode.Space))//如果按下了空格键
        {
            if (au.isPlaying)//正在播放背景音乐时
            {
                au.enabled = false;//取消该组件
                //方式二 au.Stop();
            }
            else//未播放背景音乐时
            {
                au.enabled = true;//激活该组件
            	//方式二 au.Play();
            }
        }
    }
}

三、创建Audio Source

Hierarchy窗口中右键,选择AudioAudio Source

在这里插入图片描述

创建之后把它拖动到预制体文件夹

在这里插入图片描述

选择这个预制体,添加一个C#脚本

在这里插入图片描述

将自己的音乐文件拖动到Audio Source组件的AudioClip参数中

参数 介绍
AudioClip 当组件被激活时会播放
Output 当组件被取消时会播放

在这里插入图片描述

如果场景中没有游戏对象时,需要把这个预制体移动到场景中
之后开始游戏就会有背景音乐了

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐