Unity(8)-开启或关闭背景音乐

前言

音乐播放时按下指定按键关闭音乐,未播放时按下按键开启音乐。
通过激活和关闭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当组件被取消时会播放

在这里插入图片描述

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

在这里插入图片描述

Unity Mega-Fiers是一款强大的Unity插件,它为开发者提供了许多功能和工具,以帮助他们创建优秀的游戏体验。 首先,Unity Mega-Fiers具有强大的形变功能。开发者可以通过该插件实现各种形状的变换,包括弯曲、挤压、拉伸等。这为游戏中的人物、物体和环境提供了更多的自由度和个性化选项,使其更具动态和真实感。 其次,Unity Mega-Fiers还提供了高度的粒子系统控制能力。开发者可以使用该插件来创建更加逼真的粒子效果,并具有更准确的控制。这包括粒子的大小、颜色、速度等方面,使游戏中的特效更加出色。 另外,Unity Mega-Fiers还支持可编程网格。这意味着开发者可以通过脚本来控制网格的生成和变形,从而实现各种复杂的效果。无论是地形生成、水体模拟还是其他物体的变形,都可以通过该插件实现,并使游戏更加逼真和具有个性化。 除了以上功能,Unity Mega-Fiers还提供了其他诸多辅助工具,如动画控制、特效编辑等,为开发者提供了更丰富的开发选项和提升游戏质量的手段。 总结而言,Unity Mega-Fiers是一款功能强大的Unity插件,为开发者提供了丰富的形变、粒子系统控制和可编程网格等功能。它能够大幅提升游戏的真实感和品质,并为开发者提供更多的创作空间和个性化选项。无论是初学者还是有经验的开发者,都能够从中受益,并创造出出色的游戏作品。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦之海岛

创作不易,狐狸叹气

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值