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

怎么学网站开发如何修改网站备案

怎么学网站开发,如何修改网站备案,廊坊网络公司有哪些,沈阳百度推广哪家好#x1f468;‍#x1f4bb;个人主页#xff1a;元宇宙-秩沅 #x1f468;‍#x1f4bb; hallo 欢迎 点赞#x1f44d; 收藏⭐ 留言#x1f4dd; 加关注✅! #x1f468;‍#x1f4bb; 本文由 秩沅 原创 #x1f468;‍#x1f4bb; 收录于专栏#xff1a;uni… ‍个人主页元宇宙-秩沅 ‍ hallo 欢迎 点赞 收藏⭐ 留言 加关注✅! ‍ 本文由 秩沅 原创 ‍ 收录于专栏unityUI专题篇 ⭐单例模式管理面板对象⭐ 文章目录 ⭐单例模式管理面板对象⭐前言A常用关键APIB需求分析C逻辑封装——游戏音乐数据存储‍️步骤实现实现音乐数据的同步更新——最终代码 D逻辑封装——游戏排行榜数据存储‍️**步骤实现**总UML图 E逻辑封装——音乐数据管理类‍️步骤:结论 结论 前言 ️ A常用关键API B需求分析 C逻辑封装——游戏音乐数据存储 ‍️步骤实现 1.首先将音乐数据封装在类中不采用单例模式 2. 而后封装一个游戏数据类为单例模式功能利用Playerfabs进行数据存储音乐数据 3.读取存盘中的数据更新游戏数据 1.首先将音乐数据封装在类中不采用单例模式 using System.Collections; using System.Collections.Generic; using UnityEngine; //------------------------------------- //————————————————————————————————————— //___________脚本名: 音乐相关数据存储类 //___________功能 记录音乐相关的数据 //___________创建者秩沅_______________ //_____________________________________ //------------------------------------- public class MusicData {//记录音乐音效的开关状态和拖动条public bool musicSwitch;public bool soundSwitch;public float musicRoll;public float soundRoll;public bool isFirst; } 2. 而后封装一个游戏数据类为单例模式功能利用Playerfabs进行数据存储音乐数据 using System.Collections; using System.Collections.Generic; using UnityEngine; //------------------------------------- //————————————————————————————————————— //___________脚本名: 游戏数据类 //___________功能 记录游戏的数据并用PlayerFabs存储 //___________创建者秩沅_______________ //_____________________________________ //-------------------------------------public class GameData {static private GameData dataContorl new GameData ();static public GameData DataContorl dataContorl ;public MusicData musicData ;private GameData(){musicData new MusicData();musicData PlayerfabsClass.Chats.GetDataMess(typeof(MusicData), Music) as MusicData ;if ( !musicData.isFirst ) //如果是第一次进入游戏{musicData.musicSwitch true;musicData.soundSwitch true;musicData.musicRoll 0.5f;musicData.soundRoll 0.5f;PlayerfabsClass.Chats.SaveDataMess(musicData, Music); //设置为自定义的默认值后进行存储 }}} 3.读取存盘中的数据更新游戏数据 using System.Collections; using System.Collections.Generic; using UnityEngine; //------------------------------------- //————————————————————————————————————— //___________项目: ______________ //___________功能 设置面板功能 //___________创建者秩沅_______________ //_____________________________________ //------------------------------------- public class SetPlane : BeginFatherSetPlane {//将功能控件拖拽对应的成员变量中public Button closeButt;public Slider sliderMusic;public Slider sliderSound;public ToggleM toggleMusic;public ToggleM toggleSound;private float toggle1;private float toggle2;private void Start(){//按钮中事件的添加closeButt.triggerEvent () {this.gameObject.SetActive(false);BeginPlane.SingleInstance.Show();};//滑条中事件的添加sliderMusic.triggerEvent (value) {};sliderSound.triggerEvent (value) {};//多选框中事件的添加toggleMusic.triggerEvent (value) {};toggleSound .triggerEvent (value) {};this.Hidden();}private void MusicDataUpdate(){MusicData data GameData.DataContorl.musicData;sliderMusic.NowValue data.musicRoll;sliderSound.NowValue data.soundRoll;toggleMusic.IsSwitch data.musicSwitch;toggleSound.IsSwitch data.soundSwitch;}public override void Show(){base.Show(); //保留父类的封装逻辑MusicDataUpdate();} } 实现音乐数据的同步更新——最终代码 目的 将游戏游戏数据保存至硬盘下次开启游戏实现数据同步 using System.Collections; using System.Collections.Generic; using UnityEngine; //------------------------------------- //————————————————————————————————————— //___________脚本名: 游戏数据类 //___________功能 记录游戏的数据并用PlayerFabs存储 //___________创建者秩沅_______________ //_____________________________________ //-------------------------------------public class GameData {static private GameData dataContorl new GameData ();static public GameData DataContorl dataContorl ;public MusicData musicData ;private GameData(){musicData PlayerPrefsDataMgr.Instance.LoadData(typeof(MusicData), Music) as MusicData ;if ( !musicData.isFirst ) //如果是第一次进入游戏(表示注册表中第一次存该类型数据时){musicData.isFirst true;musicData.musicSwitch true;musicData.soundSwitch true;musicData.musicRoll 1f;musicData.soundRoll 1f;PlayerPrefsDataMgr.Instance.SaveData(musicData, Music); }}//音乐开关数据的更新存储public void ChangeMusicS( bool value){musicData.musicSwitch value;PlayerPrefsDataMgr.Instance.SaveData(musicData,Music);}//音效开关数据的更新存储public void ChangeSoundS(bool value){musicData.soundSwitch value;PlayerPrefsDataMgr.Instance.SaveData(musicData, Music);}//音乐滑条数据的更新存储public void ChangeMusicR(float value){musicData.musicRoll value;PlayerPrefsDataMgr.Instance.SaveData(musicData, Music);}//音效滑条数据的更新存储public void ChangeSoundR(float value){musicData.soundRoll value;PlayerPrefsDataMgr.Instance.SaveData(musicData, Music);} } using System.Collections; using System.Collections.Generic; using UnityEngine; //------------------------------------- //————————————————————————————————————— //___________项目: ______________ //___________功能 设置面板功能 //___________创建者秩沅_______________ //_____________________________________ //------------------------------------- public class SetPlane : BeginFatherSetPlane {//将功能控件拖拽对应的成员变量中public Button closeButt;public Slider sliderMusic;public Slider sliderSound;public ToggleM toggleMusic;public ToggleM toggleSound;private float toggle1;private float toggle2;private MusicData musicData;private void Start(){//按钮中事件的添加closeButt.triggerEvent () {Hidden();BeginPlane.SingleInstance.Show();};//多选框中事件的添加toggleMusic.triggerEvent (value) GameData.DataContorl.ChangeMusicS(value);toggleSound.triggerEvent (value) GameData.DataContorl.ChangeSoundS(value);//滑条中事件的添加sliderMusic.triggerEvent (value) GameData.DataContorl.ChangeMusicR(value);sliderSound.triggerEvent (value) GameData.DataContorl.ChangeSoundR(value);Hidden();}private void MusicDataUpdate() //将已存盘的数据读取后更新{MusicData data GameData.DataContorl.musicData;toggleMusic.IsSwitch data.musicSwitch;toggleSound.IsSwitch data.soundSwitch;sliderMusic.NowValue data.musicRoll;sliderSound.NowValue data.soundRoll;}public override void Show(){base.Show(); //保留父类的封装逻辑MusicDataUpdate(); //在展示时更新} } using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; //------------------------------------- //————————————————————————————————————— //___________项目: ______________ //___________功能 开始面板类 //___________创建者秩沅_______________ //_____________________________________ //------------------------------------- public class BeginPlane : BeginFatherBeginPlane {// 获取开始面板中的各个按钮控件public Button but1;public Button but2;public Button but3;public Button but4;private void Start(){but1.triggerEvent () { SceneManager.LoadScene(Start); }; //点击“开始游戏”but2.triggerEvent () { Hidden(); SetPlane.SingleInstance.Show(); }; //点击“游戏设置”but3.triggerEvent () { Application.Quit(); }; //点击“退出游戏”but4.triggerEvent () { Hidden(); }; //点击“排行榜”}} D逻辑封装——游戏排行榜数据存储 界面设计 效果演示 ‍️步骤实现 1.封装排行榜数据类无参构造做new 有参构造做一键赋值 2.以数据管理类为载体进行更新API封装——只存储排行榜中的数据到盘注册表中 3.封装排行榜面板类进行实时显示 ----- 封装排行榜数据类无参构造做new 有参构造做一键赋值 using System.Collections; using System.Collections.Generic; using UnityEngine; //------------------------------------- //————————————————————————————————————— //___________项目: //___________功能 排行榜数据的载体 //___________创建者秩沅_______________ //_____________________________________ //------------------------------------- public class RankData { public string name;public int score;public int time;public RankData() //用来new{}public RankData(string name, int score, int time ) //用来一键赋值{this.name name ;this.score score ;this.time time;} }---------------------- 以数据管理类为载体进行更新API封装 using System.Collections; using System.Collections.Generic; using UnityEngine; //------------------------------------- //————————————————————————————————————— //___________脚本名: 游戏数据管理类 //___________功能 记录和更新游戏的数据并用PlayerFabs存储 //___________创建者秩沅_______________ //_____________________________________ //-------------------------------------public class GameData {static private GameData dataContorl new GameData ();static public GameData DataContorl dataContorl ;public MusicData musicData ;public ListRankData rankTopData;//固定承载前六名的数据信息private GameData(){//初始化读取音乐数据musicData PlayerPrefsDataMgr.Instance.LoadData(typeof(MusicData), Music) as MusicData ;//初始化读取排行榜数据rankTopData PlayerPrefsDataMgr.Instance.LoadData(typeof(ListRankData), Rank) as ListRankData;if ( !musicData.isFirst ) //如果是第一次进入游戏(表示注册表中第一次存该类型数据时){musicData.isFirst true;musicData.musicSwitch true;musicData.soundSwitch true;musicData.musicRoll 1f;musicData.soundRoll 1f;PlayerPrefsDataMgr.Instance.SaveData(musicData, Music); }} //------------------------排行榜数据的更新封装-------------------------------//在排行榜中添加数据public void SaveRankData(string name, int score, int time){rankTopData.Add(new RankData(name, score, time));Debug.Log(rankTopData);rankTopData.Sort((a, b) { return a.score b.score ? -1 : 1; }); //添加排序规则//但list大于6时for (int i rankTopData.Count - 1 ; i 5; i--){rankTopData.RemoveAt(i); //删除}PlayerPrefsDataMgr.Instance.SaveData(rankTopData, Rank );}//------------------------音乐数据的更新封装------------------------------//音乐开关数据的更新存储public void ChangeMusicS( bool value){musicData.musicSwitch value;PlayerPrefsDataMgr.Instance.SaveData(musicData,Music);}//音效开关数据的更新存储public void ChangeSoundS(bool value){musicData.soundSwitch value;PlayerPrefsDataMgr.Instance.SaveData(musicData, Music);}//音乐滑条数据的更新存储public void ChangeMusicR(float value){musicData.musicRoll value;PlayerPrefsDataMgr.Instance.SaveData(musicData, Music);}//音效滑条数据的更新存储public void ChangeSoundR(float value){musicData.soundRoll value;PlayerPrefsDataMgr.Instance.SaveData(musicData, Music);} } ----------- 3.封装排行榜面板类进行实时显示 using System.Collections; using System.Collections.Generic; using UnityEngine;//------------------------------------- //————————————————————————————————————— //___________脚本名: 排行榜面板 //___________功能 掌控排行榜面板相关控件 //___________创建者 秩沅_______________ //_____________________________________ //-------------------------------------public class RankPlane : BeginFatherRankPlane {public Button closeButton;//采用列表的方式进行排行数据的暂时存储private ListLabel RK_Name new ListLabel();private ListLabel RK_Score new ListLabel();private ListLabel RK_Time new ListLabel();private void Start(){//通过API获取排行榜中的标签for (int i 1; i 6; i){ RK_Name.Add(this.transform.Find(RKName/player i ).GetComponentLabel());RK_Score.Add(this.transform.Find(RKScore/Score i ).GetComponentLabel());RK_Time.Add(this.transform.Find(RKTime/time i ).GetComponentLabel()); } //为按钮中的事件添加方法closeButton .triggerEvent (){Hidden(); BeginPlane.SingleInstance.Show();};Hidden(); }public override void Show(){base.Show();ShowRankData();}public void ShowRankData() //读盘排行榜数据并显示{GameData.DataContorl .SaveRankData(nibb, 100, 342);ListRankData data GameData.DataContorl.rankTopData;for (int i 0; i data.Count; i){string showTime ;int hour, min, second;print(data[i].name);RK_Name[i].ContorlContent.text data[i].name;RK_Score[i].ContorlContent.text data[i].score.ToString();RK_Time[i].ContorlContent.text ;//时间格式转化hour data[i].time / 3600;min data[i].time / 60 % 60;second data[i].time % 60;showTime ${hour}小时{min}分钟{second}秒;RK_Time[i].ContorlContent.text showTime;}} } 总UML图 E逻辑封装——音乐数据管理类 ‍️步骤: 1.封装音乐数据管理类——单例2.在游戏数据管理类中更新音乐数据更新方法 封装音乐数据类 using System.Collections; using System.Collections.Generic; using UnityEngine; //------------------------------------- //————————————————————————————————————— //___________项目: ______________ //___________功能 更新音乐 //___________创建者秩沅_______________ //_____________________________________ //------------------------------------- public class MusicContol : MonoBehaviour {static private MusicContol singleMusicContol;static public MusicContol SingleMusicContol singleMusicContol;private AudioSource beginAudio;private MusicData nowMusicData;void Awake(){singleMusicContol this;//达到一运行游戏就有音乐的效果beginAudio GetComponentAudioSource(); //从盘中读取nowMusicData PlayerPrefsDataMgr.Instance.LoadData(typeof(MusicData), Music) as MusicData;beginAudio.enabled nowMusicData.musicSwitch;beginAudio.volume nowMusicData.musicRoll;}//----将其变成外界可调用的方法------ public void ChangeMusicSwitch(bool value) //改变音乐开关{beginAudio.enabled value;}public void ChangeMusicRoll(float value) //改变音乐大小{beginAudio.volume value;}public void ChangeSoundSwitch(bool value) //改变音效开关{}public void ChangeSoundRoll(float value) //改变音效大小{} } 游戏数据管理类也需要更新——在方法中更新逻辑 using System.Collections; using System.Collections.Generic; using UnityEngine; //------------------------------------- //————————————————————————————————————— //___________脚本名: 游戏数据管理类 //___________功能 记录和更新游戏的数据并用PlayerFabs存储 //___________创建者秩沅_______________ //_____________________________________ //-------------------------------------public class GameData {static private GameData dataContorl new GameData ();static public GameData DataContorl dataContorl ;public MusicData musicData ;public ListRankData rankTopData;//固定承载前六名的数据信息private GameData(){//初始化读取音乐数据musicData PlayerPrefsDataMgr.Instance.LoadData(typeof(MusicData), Music) as MusicData ;//初始化读取排行榜数据rankTopData PlayerPrefsDataMgr.Instance.LoadData(typeof(ListRankData), Rank) as ListRankData;if ( !musicData.isFirst ) //如果是第一次进入游戏(表示注册表中第一次存该类型数据时){musicData.isFirst true;musicData.musicSwitch true;musicData.soundSwitch true;musicData.musicRoll 1f;musicData.soundRoll 1f;PlayerPrefsDataMgr.Instance.SaveData(musicData, Music); }} //【------------------------排行榜数据的更新封装----------------------------------】//在排行榜中添加数据public void SaveRankData(string name, int score, int time){rankTopData.Add(new RankData(name, score, time));Debug.Log(rankTopData);rankTopData.Sort((a, b) { return a.score b.score ? -1 : 1; }); //添加排序规则//但list大于6时for (int i rankTopData.Count - 1 ; i 5; i--){rankTopData.RemoveAt(i); //删除}PlayerPrefsDataMgr.Instance.SaveData(rankTopData, Rank );}//【------------------------音乐数据的更新存盘封装----------------------------------】//音乐开关数据的更新存储public void ChangeMusicS( bool value){musicData.musicSwitch value;MusicContol.SingleMusicContol.ChangeMusicSwitch(value); //实时改变音乐大小_下同PlayerPrefsDataMgr.Instance.SaveData(musicData,Music); //实时进行音乐数据存盘_下同}//音效开关数据的更新存储public void ChangeSoundS(bool value){musicData.soundSwitch value;MusicContol.SingleMusicContol.ChangeSoundSwitch(value);PlayerPrefsDataMgr.Instance.SaveData(musicData, Music);}//音乐滑条数据的更新存储public void ChangeMusicR(float value){musicData.musicRoll value;MusicContol.SingleMusicContol.ChangeMusicRoll(value);PlayerPrefsDataMgr.Instance.SaveData(musicData, Music);}//音效滑条数据的更新存储public void ChangeSoundR(float value){musicData.soundRoll value;MusicContol.SingleMusicContol.ChangeSoundRoll(value);PlayerPrefsDataMgr.Instance.SaveData(musicData, Music);}} 过程中的错误——优化思维 进行优化__________ 结论 结论 1.进行模块化处理数据管理就是数据管理面板显示就是面板显示各司其职员工不得乱工作2.抽象行为分配行为你就是掌控者3.如果某个行为/操作不仅限于一个对象要将其封装成外界可以调用的API 例如修改主界面音频时自己直接获取却没想到将其封装成外界调用的方法 ⭐相关文章⭐ ⭐【2023unity游戏制作-mango的冒险】-6.关卡设计 ⭐【2023unity游戏制作-mango的冒险】-5.攻击系统的简单实现 ⭐【2023unity游戏制作-mango的冒险】-4.场景二的镜头和法球特效跟随 ⭐【2023unity游戏制作-mango的冒险】-3.基础动作和动画API实现 ⭐【2023unity游戏制作-mango的冒险】-2.始画面API制作 ⭐【2023unity游戏制作-mango的冒险】-1.场景搭建 ⭐“狂飙”游戏制作—游戏分类图鉴网易游学 ⭐本站最全-unity常用API大全万字详解不信你不收藏 你们的点赞 收藏⭐ 留言 关注✅是我持续创作输出优质内容的最大动力
http://www.w-s-a.com/news/825298/

相关文章:

  • 企业官方网站地址通了网站建设
  • 专题网站可以做什么怎么做网站滑动图片部分h5
  • 什么是网站建设外包html 门户网站
  • 资阳市建设局网站微信开发公司
  • wap建站程序源码可不可以异地建设网站
  • 优秀企业网站的特点网站标签名词
  • 建材网站建设案例淄博网站建设培训
  • 纯代码添加wordpress网站底部导航宝塔自助建站源码
  • 网站设计技术有哪些?青岛网站建设工作室
  • 网站怎样建设才叫人性化宣传
  • 济南网站制作方案做淘客网站备案
  • h5企业网站只做做php门户网站那个系统好
  • 长春阿凡达网站建设建网站如果不买域名别人能不能访问
  • 佛山网站建设策划东莞建设工程交易网
  • 制作公众号网站开发濮阳建网站
  • 屏南网站建设兼职旅游网站建设方案两百字
  • 最牛的网站建设网站建设的规模设想
  • 马云之前做的网站企业形象策划
  • ie9网站后台编辑器代发qq群发广告推广
  • 百度怎样建立一个网站嘉兴高端网站定制
  • 国外设计网站怎么进入电子网站建设前台设计
  • 中方建设局网站济南网站建设公司电子商务网站
  • 如何做网站编辑 沒技术济南企业做网站推广网站
  • 网站模板 百科北京中高风险地区最新名单最新
  • 高校网站建设前言做公众号的公司是什么公司
  • 网站备案怎么登陆短视频培训学校
  • 百度图片点击变网站是怎么做的北京市建设工程质量监督站网站
  • 在线建站模板重庆网站建设大概需要多少钱
  • 建设网站公司电话号码wordpress 即时通讯
  • 网站设计用的技术拓者吧室内设计网app