基于ET6框架的声音组件

2023-11-21 22:40
文章标签 组件 框架 声音 et6

本文主要是介绍基于ET6框架的声音组件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.介绍

一个游戏有音乐和音效是必不可少的,游戏中的各种音乐和音效都会对玩家的情绪和心里状态产生影响,各种氛围的营造和游戏的新鲜感和真实感的体现都需要音效的帮助。以下是我基于ET6框架封装了声音组件。

陈芬辉/ET - Gitee.comicon-default.png?t=LBL2https://gitee.com/chen_fen_hui/ET/tree/ETPro

2.部分代码解析(SoundComponent.cs)

        /// <summary>/// 播放背景音乐/// </summary>/// <param name="url"></param>/// <param name="loop"></param>public void PlayMusic(string url, bool loop = true){//获取clipif (!cacheClipDic.TryGetValue(url,out AudioClip clip)){clip = (AudioClip)Game.Scene.GetComponent<ResourcesComponent>().GetAsset(abName.StringToAB(), url);cacheClipDic.Add(url, clip);}          if (clip == null){Log.Error("LoadAssetAsync clip err : " + url);return;}this.music.clip = clip;this.music.loop = loop;this.music.Play();           }/// <summary>/// 设置背景音乐静音/// </summary>/// <param name="mute"></param>public void SetMusicMute(bool mute){if (mute == (this.musicMuted == 1)){return;}this.musicMuted = mute ? 1 : 0;this.music.mute = mute;PlayerPrefs.SetInt("music_muted", this.musicMuted);}/// <summary>/// 设置背景音乐音量/// </summary>/// <param name="value"></param>public void SetMusicVolume(float value){if (value < 0.0f || value > 1.0f){return;}this.musicVolume = value;this.music.volume = this.musicVolume;PlayerPrefs.SetFloat("music_volume", this.musicVolume);}

3.使用

1.播放背景音乐

 SoundComponent.Instance.PlayMusic("bg");

2.播放音效

 SoundComponent.Instance.PlayOneShot("refresh");

这篇关于基于ET6框架的声音组件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/405592

相关文章

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

Spring组件初始化扩展点BeanPostProcessor的作用详解

《Spring组件初始化扩展点BeanPostProcessor的作用详解》本文通过实战案例和常见应用场景详细介绍了BeanPostProcessor的使用,并强调了其在Spring扩展中的重要性,感... 目录一、概述二、BeanPostProcessor的作用三、核心方法解析1、postProcessB

kotlin中的行为组件及高级用法

《kotlin中的行为组件及高级用法》Jetpack中的四大行为组件:WorkManager、DataBinding、Coroutines和Lifecycle,分别解决了后台任务调度、数据驱动UI、异... 目录WorkManager工作原理最佳实践Data Binding工作原理进阶技巧Coroutine

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization

SpringBoot集成图片验证码框架easy-captcha的详细过程

《SpringBoot集成图片验证码框架easy-captcha的详细过程》本文介绍了如何将Easy-Captcha框架集成到SpringBoot项目中,实现图片验证码功能,Easy-Captcha是... 目录SpringBoot集成图片验证码框架easy-captcha一、引言二、依赖三、代码1. Ea