【unity】【C#】游戏音乐播放和发布

devtools/2024/9/23 1:37:06/

今天我们来认识一下有关 unity 音乐的一些知识

我们先创建 AudioClips 文件夹,这个文件夹通常就是 unity 中存放音乐的文件夹,然后拖进音乐文件进去
在这里插入图片描述
这里为大家提供了两个音乐,有需要可以自取
百度网盘:https://pan.baidu.com/s/1D45NK5T2gZ0olFLljVHHSg?pwd=nouu
提取码:nouu
在这里插入图片描述
我们再创建空项目,并添加组件 Audio Source ,将音频拖入AudioClip 运行就可以听到声音了
在这里插入图片描述
点击 Game 场景的声音图标就可以在运行时起到静音的效果
在这里插入图片描述

也可以取消勾选 Play On Awake 实现运行时不会自动播放音乐
在这里插入图片描述
还有一点需要注意的是,我们 必须 在场景中的 有且仅有 一个对象中勾选上 Audio Listener,确保运行时有声音出现,之所以有且仅有一个,是因为每个 Audio Listener 都会单独运行,如果多个一起运行,可能会导致不必要的错误
在这里插入图片描述

为了更加了解音乐调用在unity执行过程中的应用,我们通过代码来实现部分功能

先创建 C# 文件并拖拽进当前对象的下方,再将音乐源 Audio Source 放入代码块里

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class EP28_01_AudioSource : MonoBehaviour
{public AudioSource audioSource;// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){}
}

在这里插入图片描述
根据前面内容我们可以知道,如果取消勾选 Play On Awake 会导致运行时场景没有声音,但是如果我们再代码的 start 语句块中添加下面这句话,再次运行就能有声音了

        audioSource.Play();

同理,将 Play 改成 Stop 就能够实现代码的停止播放

        audioSource.Stop();

不仅如此我们还可以通过鼠标、键盘等的输入,改变音乐的播放情况,比如说下面这一块代码,我们先调用 audioClip 再自定义方法 PlayBtnSound,实现通过按下鼠标左键实现音乐的播放

同样需要记得将想要播放的音频拖拽到代码块的 audioClip

public class EP28_01_AudioSource : MonoBehaviour
{public AudioSource audioSource;public AudioClip audioClip;//为代码调用audioClip// Start is called before the first frame updatevoid Start(){//audioSource.Play();//audioSource.Stop();}// Update is called once per framevoid Update(){if(Input.GetMouseButtonDown(0))//按下鼠标左键{PlayBtnSound();}}private void PlayBtnSound(){//类名     .成员名 audioSource.clip = audioClip;//调用audioClip//类名     .方法名audioSource.Play();}
}

关于游戏的打包发布就比较简单了,按下图这个顺序保存文件到自己想保存的位置,尽量避免路径中存在英文,
在这里插入图片描述
然后点开 project.exe 文件就可以打开这个游戏了,如果你想把这个游戏发给别人,需要回到整个打包文件夹下,将整个打包文件一起发送,这样游戏才能运行。
在这里插入图片描述


http://www.ppmy.cn/devtools/4088.html

相关文章

R 格式(蓝桥杯)

文章目录 R 格式【问题描述】解题思路高精度乘法高精度加法 R 格式 【问题描述】 小蓝最近在研究一种浮点数的表示方法:R 格式。对于一个大于 0 的浮点数 d,可以用 R 格式的整数来表示。给定一个转换参数 n,将浮点数转换为 R格式整数的做法…

Python 字符串 Base64

因消息传输的需要,我们需要对大量文本的字符串进行一下 Base64 转换。 这样的好处是因为在传输的字符串中可能有存在一些特殊字符,这些特殊在经过网络传输的时候会出现编码的问题,并且会影响传输稳定性。 使用 Base64 可以避免这个问题。 方…

瑞芯微RK3328(ROC-RK3328-PC)buildroot 开发QT的hello world

第一部分:编译rk3328 sdk 0. 环境 - EC-R3328PC(ROC-RK3328-PC) - ubuntu18(100GB) 1. 安装依赖 sudo apt-get updatesudo apt-get install repo git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools devi…

【机器学习】机器学习学习笔记 - 监督学习 - 逻辑回归分类朴素贝叶斯分类支持向量机 SVM (可分类、可回归) - 04

逻辑回归分类 import numpy as np from sklearn import linear_modelX np.array([[4, 7], [3.5, 8], [3.1, 6.2], [0.5, 1], [1, 2], [1.2, 1.9], [6, 2], [5.7, 1.5], [5.4, 2.2]]) y np.array([0, 0, 0, 1, 1, 1, 2, 2, 2])# 逻辑回归分类器 # solver:求解器&a…

卷积的计算过程

卷积的计算过程:各个神经元之间的线性组合并进行非线性变换 所谓深度卷积就是卷积之后再卷积, 更深的隐藏层来获取到更高级和更抽象的特征,以此来提高下游任务的精度。 上图在input [5,5,1] 矩阵中,使用[3,3,1] 卷积核、步长为1…

Three.js加载glb / gltf模型,Vue加载glb / gltf模型(如何在vue中使用three.js,vue使用threejs加载glb模型)

简介:Three.js 是一个用于在 Web 上创建和显示 3D 图形的 JavaScript 库。它提供了丰富的功能和灵活的 API,使开发者可以轻松地在网页中创建各种 3D 场景、模型和动画效果。可以用来展示产品模型、建立交互式场景、游戏开发、数据可视化、教育和培训等等…

深入理解C#委托:为什么及如何使用委托

在C#编程中,委托是一种强大的语言特性,用于封装具有特定参数列表和返回类型的方法引用。本文将详细介绍委托的概念、为何需要使用委托、以及如何通过一个实际例子来应用委托,以帮助您更好地理解其用途和实现方式。 什么是委托? …

Maven POM元素解析(二)

一、parent <parent>元素包含定位此项目将从中继承的父项目所需的信息。注意&#xff1a;此元素的子元素不是插值的&#xff0c;必须作为文字值给定。 ElementTypeDescriptiongroupIdString要从中继承的父项目的组id。artifactIdString要从中继承的父项目的项目id。ver…