当前位置: 首页 > news >正文

营销型网站有意义吗连锁餐饮网站开发背景内容

营销型网站有意义吗,连锁餐饮网站开发背景内容,旅游网站结构图,网站建设 模板【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址#xff1a;https://www.udemy.com/course/2d-rpg-alexdev/ 本章节实现了音频的大小设置与保存加载 音频管理器 UI_VolumeSlider.cs 定义了 UI_VolumeSlider 类#xff0c;用于处理与音频设置相关的…【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址https://www.udemy.com/course/2d-rpg-alexdev/ 本章节实现了音频的大小设置与保存加载 音频管理器 UI_VolumeSlider.cs 定义了 UI_VolumeSlider 类用于处理与音频设置相关的 UI 滑块Slider交互。 音量调整 SliderValue(float _value) 方法根据滑块的值调整音量利用 audioMixer.SetFloat 设置音频混音器中指定参数parametr的值。使用 Mathf.Log10(_value) * multiplier 将滑块值转化为对数刻度以平滑音量变化。 加载保存的音量设置 LoadSlider(float _value) 方法将加载的音量值如果值大于 0.001应用到滑块上避免音量翻转。 成员变量 slider关联的 UI 滑块。parametr音频混音器中的参数名称。audioMixer用于音频混合的 AudioMixer 实例。multiplier用于音量计算的乘数。 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Audio; using UnityEngine.UI;//2024.12.2 from summer to winter public class UI_VolumeSlider : MonoBehaviour {public Slider slider;//滑块public string parametr;//音频混合器的参数[SerializeField] private AudioMixer audioMixer;//音频混合器[SerializeField] private float multiplier;//音量的倍数public void SliderValue(float _value) audioMixer.SetFloat(parametr, Mathf.Log10(_value) * multiplier);//设置音量public void LoadSlider(float _value)//加载音量{if(_value 0.001f)//防止翻转slider.value _value;}}UI.cs 添加的部分 这段代码包含了两个方法LoadData 和 SaveData用于加载和保存游戏中的音量设置。它们的主要功能是处理音量设置的保存和加载机制将音量设置保存在 GameData 对象中并能够恢复。 1. LoadData(GameData _data): 功能加载音量设置并应用到 UI 滑块。逻辑 遍历传入的 GameData 对象中的 volumeSettings 字典字典存储了音量设置的参数名和相应的值如 masterVolume, musicVolume 等。对每一个音量设置项KeyValuePairstring, float遍历 volumeSettingsUI 控件中的 UI_VolumeSlider 实例检查每个 UI_VolumeSlider 的 parametr音频参数名称是否与保存的音量设置的参数名称相匹配。如果匹配就调用 UI_VolumeSlider 的 LoadSlider 方法将保存的音量值应用到相应的 UI 滑块上。 2. SaveData(ref GameData _data): 功能保存当前的音量设置到 GameData 中。逻辑 清空 GameData 对象中的 volumeSettings 字典以确保旧的音量设置不被遗留。遍历 volumeSettingsUI 控件中的 UI_VolumeSlider 实例获取每个滑块的值并将其添加到 volumeSettings 字典中。每个滑块的 parametr音频参数名称作为字典的键slider.value滑块当前的值作为字典的值保存到 GameData 中。 public void LoadData(GameData _data){foreach(KeyValuePairstring,float pair in _data.volumeSettings)//遍历音量设置{foreach (UI_VolumeSlider item in volumeSettings){if (item.parametr pair.Key)//如果音量设置的参数和保存的参数一致item.LoadSlider(pair.Value);}}}public void SaveData(ref GameData _data){_data.volumeSettings.Clear();//清空音量设置foreach (UI_VolumeSlider item in volumeSettings)//遍历音量设置{_data.volumeSettings.Add(item.parametr,item.slider.value);//保存音量设置}} using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;public class UI : MonoBehaviour,ISaveManager {[Header(End screens)][SerializeField] private UI_FadeScreen fadeScreen;[SerializeField] private GameObject endText;[SerializeField] private GameObject restartButton;[Space][SerializeField] private GameObject characterUI;[SerializeField] private GameObject skillTreeUI;[SerializeField] private GameObject craftUI;[SerializeField] private GameObject optionsUI;[SerializeField] private GameObject inGameUI;//物品提示框和状态提示框public UI_SkillToolTip skillToolTip;public UI_ItemTooltip itemToolTip;public UI_StatToolTip statToolTip;public UI_CraftWindow craftWindow;[SerializeField] private UI_VolumeSlider[] volumeSettings;private void Awake(){SwitchTo(skillTreeUI);//2024年11月22日P138 Skill Tree Hot Fix启动时默认显示技能树界面fadeScreen.gameObject.SetActive(true);}void Start(){SwitchTo(inGameUI);itemToolTip.gameObject.SetActive(false);//戏启动时隐藏物品提示框和状态提示框statToolTip.gameObject.SetActive(false);}void Update(){if (Input.GetKeyDown(KeyCode.C))SwitchWithKeyTo(characterUI);if (Input.GetKeyDown(KeyCode.B))SwitchWithKeyTo(craftUI);if (Input.GetKeyDown(KeyCode.K))SwitchWithKeyTo(skillTreeUI);if (Input.GetKeyDown(KeyCode.O))SwitchWithKeyTo(optionsUI);}public void SwitchTo(GameObject _menu)// 该方法用于切换到指定的UI界面{for (int i 0; i transform.childCount; i)//遍历当前UI对象的所有子物体{bool fadeScreen transform.GetChild(i).GetComponentUI_FadeScreen() ! null;//检查UI界面是否有FadeScreensif (fadeScreenfalse)transform.GetChild(i).gameObject.SetActive(false);//遍历并隐藏所有子元素,确保了在显示新的UI界面时所有其他的UI界面都会被隐藏}if (_menu ! null)//传入的菜单不为空{_menu.SetActive(true);//显示}}public void SwitchWithKeyTo(GameObject _menu)//处理切换UI的逻辑{if (_menu ! null _menu.activeSelf)// UI界面已经显示隐藏, 如果目标UI界面未显示调用 SwitchTo 显示。{_menu.SetActive(false);CheckForInGameUI();return;}SwitchTo(_menu);}private void CheckForInGameUI()//关闭其他UI都会回到InGameUI{for (int i 0; i transform.childCount; i)//{//p152修复切换到其他UI时InGameUI关闭的问题if (transform.GetChild(i).gameObject.activeSelf transform.GetChild(i).GetComponentUI_FadeScreen() null)//其他的UI全部关闭并且淡入淡出关闭return;}SwitchTo(inGameUI);}public void SwitchOnEndScreen(){fadeScreen.FadeOut();StartCoroutine(EndScreenCorutione());}IEnumerator EndScreenCorutione(){yield return new WaitForSeconds(1);endText.SetActive(true);yield return new WaitForSeconds(1.7f);restartButton.SetActive(true);}public void RestartGameButton() GameManager.instance.RestartScene();public void LoadData(GameData _data){foreach(KeyValuePairstring,float pair in _data.volumeSettings)//遍历音量设置{foreach (UI_VolumeSlider item in volumeSettings){if (item.parametr pair.Key)//如果音量设置的参数和保存的参数一致item.LoadSlider(pair.Value);}}}public void SaveData(ref GameData _data){_data.volumeSettings.Clear();//清空音量设置foreach (UI_VolumeSlider item in volumeSettings)//遍历音量设置{_data.volumeSettings.Add(item.parametr,item.slider.value);//保存音量设置}} }
http://www.dnsts.com.cn/news/92811.html

相关文章:

  • 网站框架设计模板上海免费网站建站模板
  • 分栏式的网站有哪些施工企业降本增效的方法和措施
  • 服务器用来做网站空间中山东莞网站推广
  • 甘肃省水利厅引洮工程建设管理局网站找论文的免费网站
  • 做网站要考虑的问题wordpress 怎么看
  • 珠宝企业的门户网站开发科技木是什么材料
  • 网站建设的目标定义设计类专业要艺考吗
  • 安庆做网站公司可以做物理题的网站
  • 一般做网站需要的js有哪些电商分享推广怎么做
  • 深圳企业网站建设设计公司网站seo策划
  • 聊城做网站的公司市场提供邯郸手机网站建设
  • 网站seo的方法seo短视频
  • 太仓建设银行网站简述企业网站建设的目的
  • 沧州网站建设制作设计优化北京网站备案更换主体
  • wordpress建站页面求网站建设的视频
  • 国外优秀app设计网站有哪些网站开发支付宝二维码支付
  • 网站开发 后端返回前端一个地址 有什么用设计类专业介绍
  • 如何提升网站排名企业网站百度认证
  • 做点小本意 哪个网站拿货便宜点展馆设计师招聘
  • 企业网站做seo的必要性陕西西安网站建设公司
  • 如何更换网站的logo前端网站开发项目经验
  • vps网站建设学做蛋糕哪个网站好
  • 安丘做网站网站建设信息发布
  • 东莞响应式网站建设定制汉寿做网站的公司
  • 建设网站团队建设局官方网站
  • 有哪些网站是拐角型成都网站建设g冠辰
  • 今天的新闻联播内容摘抄东莞seo关键词优化
  • 如何创建微信公众号免费空调seo是什么意思
  • 广东建设行业招聘 什么网站网站设置超链接
  • 常州个人网站建设泰安红河网站建设