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

国外的有趣设计网站番禺建网站

国外的有趣设计网站,番禺建网站,如何建设国外的网站,上海做网站好的公司#x1f468;‍#x1f4bb;个人主页#xff1a;元宇宙-秩沅 #x1f468;‍#x1f4bb; hallo 欢迎 点赞#x1f44d; 收藏⭐ 留言#x1f4dd; 加关注✅! #x1f468;‍#x1f4bb; 本文由 秩沅 原创 #x1f468;‍#x1f4bb; 收录于专栏#xff1a;UI_… ‍个人主页元宇宙-秩沅 ‍ hallo 欢迎 点赞 收藏⭐ 留言 加关注✅! ‍ 本文由 秩沅 原创 ‍ 收录于专栏UI_Unity专栏 ⭐UI程序袁⭐ 文章目录 ⭐UI程序袁⭐前言1开始面板LoginPanel 脚本2提示面板TipPanel 脚本优化后的面板基类BasePanel优化后的Mono管理器 ⭐相关文章⭐ 前言 ️ **** 1开始面板LoginPanel 脚本 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; using UnityEngine.UI; //------------------------------------- //————————————————————————————————————— //___________项目: ______________ //___________功能 开始面板 //___________创建者秩沅_______________ //_____________________________________ //------------------------------------- public class LoginPanel : BasePanel {private CanvasGroup PanelGroup;// Start is called before the first frame updateprivate void Awake(){PanelGroup GetComponentCanvasGroup();if (!PanelGroup){PanelGroup gameObject.AddComponentCanvasGroup();}}protected override void Start(){base.Start();AllEvent();}/// summary/// 重写隐藏方法/// /summarypublic override void HideMe(){Fade(false, PanelGroup);//进行淡出的效果base.HideMe();}/// summary/// 添加控件监听事件/// /summaryprivate void AllEvent(){try{GetControlButton(ButtonS).onClick.AddListener(() {Debug.Log(GetControlInputField(InputAC).text);//如果账号密码为空if (GetControlInputField(InputAC).text GetControlInputField(InputAC).text ){ UIManager.GetInstance().ShowPanelTipPanel(TipPanel); //显示提示面板}});}catch{Debug.Log(没有获取到);}} } 2提示面板TipPanel 脚本 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; using UnityEngine.UI; //------------------------------------- //————————————————————————————————————— //___________项目: //___________功能 提示面板 //___________创建者_______秩沅_____ //_____________________________________ //-------------------------------------public class TipPanel : BasePanel {private CanvasGroup PanelGroup;private UnityAction evnetListen ;private void Awake(){PanelGroup GetComponentCanvasGroup();if (!PanelGroup){PanelGroup gameObject.AddComponentCanvasGroup();}}protected override void Start(){base.Start();//添加点击事件GetControlButton(BtuSure).onClick.AddListener((){UIManager.GetInstance().RemovePanel(TipPanel);});}/// summary/// 重写的显示方法/// /summarypublic override void ShowMe(){Fade(true, PanelGroup);base.ShowMe();}/// summary/// 重写的隐藏方法/// /summarypublic override void HideMe(){Fade(false, PanelGroup);base.HideMe();}/// summary/// 提供给外部改变提示文本内容的方法/// /summary/// param namecomponent/parampublic void ChangComponent(string component){GetControlText(ContentText).text component;} } 优化后的面板基类BasePanel using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI;/// summary /// 面板基类 /// 帮助我门通过代码快速的找到所有的子控件 /// 方便我们在子类中处理逻辑 /// 节约找控件的工作量 /// /summary public class BasePanel : MonoBehaviour {//通过里式转换原则 来存储所有的控件private Dictionarystring, ListUIBehaviour controlDic new Dictionarystring, ListUIBehaviour();// Use this for initializationprotected virtual void Start (){FindChildrenControlButton();FindChildrenControlImage();FindChildrenControlText();FindChildrenControlToggle();FindChildrenControlSlider();FindChildrenControlScrollRect();FindChildrenControlInputField();}/// summary/// 显示自己/// /summarypublic virtual void ShowMe(){gameObject.SetActive(true);}/// summary/// 隐藏自己/// /summarypublic virtual void HideMe(){gameObject.SetActive(false);}/// summary/// 销毁自己/// /summarypublic virtual void RemoveMe(){Destroy(gameObject);}/// summary/// 得到对应名字的对应控件脚本/// /summary/// typeparam nameT/typeparam/// param namecontrolName/param/// returns/returnsprotected T GetControlT(string controlName) where T : UIBehaviour{if(controlDic.ContainsKey(controlName)){for( int i 0; i controlDic[controlName].Count; i ){if (controlDic[controlName][i] is T){Debug.Log(获取到了 controlName);return controlDic[controlName][i] as T;}else{Debug.Log(未获取到 );}}}return null;}/// summary/// 找到面板中子对象的对应控件/// /summary/// typeparam nameT/typeparamprivate void FindChildrenControlT() where T:UIBehaviour{//把相同类型的空间脚本存储在数组当中T[] controls this.GetComponentsInChildrenT(); for (int i 0; i controls.Length; i){string objName controls[i].gameObject.name;if (controlDic.ContainsKey(objName))controlDic[objName].Add(controls[i]);elsecontrolDic.Add(objName, new ListUIBehaviour() { controls[i] });//那如果包含多个相同的空间并且每个空间执行的逻辑都不一样那该怎么优化觉得还是取消这个代码好//除非在这些相同的控件中执行的功能都是一样的//如果是按钮控件//if(controls[i] is Button)//{// (controls[i] as Button).onClick.AddListener(()// {// OnClick(objName);// });//}如果是单选框或者多选框//else if(controls[i] is Toggle)//{// (controls[i] as Toggle).onValueChanged.AddListener((value) // {// OnValueChanged(objName, value);// });//}}}/// summary/// 淡入淡出的效果/// /summarypublic void Fade( bool flag , CanvasGroup Panel){if (flag){Panel.alpha 0;MonoManager.GetInstance().RemoveUpdateListener(fadeOut);MonoManager.GetInstance().AddUpdateListener(fadeIn, () {if(Panel ! null )Panel.alpha Mathf.Lerp(Panel.alpha, 1, Time.deltaTime * 5);});}else{MonoManager.GetInstance().RemoveUpdateListener(fadeIn);MonoManager.GetInstance().AddUpdateListener(fadeOut, () {if (Panel ! null)Panel.alpha Mathf.Lerp(Panel.alpha, 0, Time.deltaTime * 5);});}}} 优化后的Mono管理器 using System.Collections; using System.Collections.Generic; using System.ComponentModel; using UnityEngine; using UnityEngine.Events;public class MonoManager : SingleManagerMonoManager {private MonoController controller;public MonoManager(){//保证了MonoController对象的唯一性GameObject obj new GameObject(MonoController);controller obj.AddComponentMonoController();}/// summary/// 给外部提供的 添加帧更新事件的函数/// /summary/// param namefun/parampublic void AddUpdateListener(string name ,UnityAction fun){controller.AddUpdateListener(name,fun);}/// summary/// 提供给外部 用于移除帧更新事件函数/// /summary/// param namefun/parampublic void RemoveUpdateListener(string name){controller.RemoveUpdateListener(name);} using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events;public class MonoController : MonoBehaviour {private Dictionarystring, UnityAction eventDic new Dictionarystring, UnityAction();// Use this for initializationvoid Start () {DontDestroyOnLoad(this.gameObject);}// Update is called once per framevoid Update () {foreach( UnityAction monoEvent in eventDic.Values ){if (monoEvent ! null)monoEvent();}}/// summary/// 给外部提供的 添加帧更新事件的函数/// /summary/// param namefun/parampublic void AddUpdateListener(string name ,UnityAction fun){if(eventDic.ContainsKey(name)){eventDic[name] fun;}else{if(fun ! null )eventDic.Add(name, fun);}// updateEvent fun;}/// summary/// 提供给外部 用于移除帧更新事件函数/// /summary/// param namefun/parampublic void RemoveUpdateListener(string name){if (eventDic.ContainsKey(name)){eventDic.Remove(name);}else{Debug.Log(未添加过该事件);}} } ⭐相关文章⭐ ⭐ 软件设计师高频考点大全⭐ ⭐ unity之c#专题篇—系统强基⭐ 你们的点赞 收藏⭐ 留言 关注✅是我持续创作输出优质内容的最大动力
http://www.ho-use.cn/article/10813983.html

相关文章:

  • 云建网站如何在百度做网站推广
  • wordpress个人网站天津网站建设费用
  • 替人做非法网站织梦的网站地图更新
  • 北京网站建设哪家便宜济源网站优化
  • 小企业建网站新浪微博网页版
  • 网站 设计公司 温州做公司网站详细步骤
  • 网站栏目变了怎么做跳转百度蜘蛛抓取网站模块
  • 二级域名网站建设规范商场设计公司
  • 义乌建设网站制作制作静态网站模板
  • 黑蒜东莞网站建设站长工具大全
  • 论坛程序做导航网站2022年进口博览会上海
  • 天蝎网站建设浙江省住房和城乡建设厅官网证件查询
  • 团购网站模板 免费邓州做网站
  • 站酷网站做vr网站
  • 机关网站建设创新舞阳网站建设
  • 长沙做网站的公司对比网站优化排名哪家好
  • 培训制作网站源码互联网app推广
  • 寻花问柳一家只做属于男人的网站特产网站建设策划书
  • 会网站建设如何找工作互联网营销行业
  • 平安网站建设工作总结国外空间
  • 郑州做网站公司yooker广告策划方案怎么做
  • 黑龙江省垦区建设协会网站建一个小型购物网站要有服务器
  • 需要网站建设企业建设网站哪里好
  • 张家港快速网站建设手机网页链接制作生成
  • 无锡网站优化价格vue大型网站开发吗
  • 用j2ee作的网站建设部网站投诉核查
  • asp在网站制作中的作用那个网站做租赁好
  • 甜品网站建设项目规划书翻译建设企业网站
  • 做淘宝的网站的多少钱公司网站建设怎么做
  • 个人网站名可以和别人一样吗北京商城网站开发公司