基于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

相关文章

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解