首页 > 其他分享 >unity 通过场景名称实现动态加载背景BGM音乐

unity 通过场景名称实现动态加载背景BGM音乐

时间:2022-11-15 14:36:45浏览次数:59  
标签:sceneName 场景 audioSource BGM signInBGM unity public 加载

在场景中创建一个空物体对象,然后将代码挂载到空物体

需要注意的是,场景中需要有以下组件

  一般在主摄像头里

   添加到代码挂载的空物体上

将场景中类的公开变量  signInBGM,xinShouCun赋值即可调用,不要忘了挂脚本到物体上

PlayBGM()类,需要传参string类型的场景名称,在场景加载或者切换的位置调用

 

AudioManager 类

 1  1 using System.Collections;
 2  2 using System.Collections.Generic;
 3  3 using UnityEngine;
 4  5 
 5  6 //音乐管理类
 6  7 public class AudioManager : MonoBehaviour
 7  8 {   
 8  9     [Header("BGM音乐源")]
 9 10     public AudioSource audioSource;
10 11 
11 12     [Header("BGM")]
12 13     public AudioClip signInBGM;
13 14     public AudioClip xinShouCun;
14 15 
15 16     void Awake() {
16 17         DontDestroyOnLoad(this);
17 18     }
18 19 
19 20     private void Start() {
20 21         audioSource = GetComponent<AudioSource>();
21 22         audioSource.clip = signInBGM;
22 23         audioSource.Play();
23 26     }
24 27 
25 28     //播放BGM,根据参数场景名称判断
26 29     public void PlayBGM(string sceneName){
27 30         Debug.Log("进入播放音乐方法  + " + sceneName);
28 31         switch(sceneName){
29 32             case    "登陆界面":
30 33                 audioSource.clip = signInBGM;
31 34                 audioSource.Play();
32 35                 break;
33 36             case    "新手村":
34 37                  audioSource.clip = xinShouCun;
35 38                  audioSource.Play();
36 39                 break;
37 40             default:
38 41                 break;
39 42         }
40 43     }
41 45 }

 

标签:sceneName,场景,audioSource,BGM,signInBGM,unity,public,加载
From: https://www.cnblogs.com/alanshreck/p/16892234.html

相关文章

  • unplugin-vue-components(按需加载使用的组件)
    作用unplugin-vue-components是由vite-plugin-components重名而来,可以将项目中的组件按需引用,仅注册你使用的组件。//平时我们在页面使用组件<template> <comp/></t......
  • 深度剖析React懒加载原理
    目录代码分割React的懒加载import()原理React.lazy原理Suspense原理参考1.代码分割(1)为什么要进行代码分割?现在前端项目基本都采用打包技术,比如Webpack,JS......
  • 类加载机制
    启动类加载器扩展类加载器应用程序类加载器自定义类加载器定义:当一个类加载器收到了类加载的请求的时候,他不会直接去加载指定的类,而是把这个请求委托给自己的父加载器......
  • 分包加载
    某些情况下,开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载。在构建小程序分包项目时,构建会输出一个或多个分包。每个使用分包小程......
  • Unity ContentSizeFitter组件
    ContentSizeFitter组件,它可以动态改变物体的宽高,但它有一个非常需要注意的点就是,它不是即时刷新,是帧末刷新,这个特性如果没注意会出现一个问题就是你拿到加了这个组件的......
  • ubuntu的iptables开机自动加载规则文件
    1、写一些规则sudoiptables-AINPUT-ptcp--dport80-jACCEPTsudoiptables-IINPUT-ptcp--dport3306-jREJECT2、保存到/etc/iptables.rules文件中sudo......
  • vue + el-menu 动态加载 一二级菜单 侧边栏
    1.HTML<template><divclass="container"><divclass="top">上</div><divclass="main"><!--动态加载侧边栏首先分为可折叠的......
  • 如何在 .NET MAUI 中加载 json 文件?
    引言:按core传统方式添加AddJsonFile("appsettings.json")在windows平台和ssr工作正常,但是在ios和android无法用这种方式,因为资源生成方式不一样.使用内置资源方......
  • Unity开发笔记-Timeline扩展笔记(1)
    ILayerable代码修改动画后推publicstaticvoidSetTimeClipExtrapolation(TimelineClipclip,TimelineClip.ClipExtrapolationextrapolation){vartype=clip.Get......
  • WinDBG详解进程初始化dll是如何加载的
    一:背景1.讲故事有朋友咨询个问题,他每次在调试WinDbg的时候,进程初始化断点之前都会有一些dll加载到进程中,比如下面这样:Microsoft(R)WindowsDebuggerVersion10.0.252......