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

新宫网站建设公司长清网站建设费用

新宫网站建设公司,长清网站建设费用,商标查询入口官网,成都房地产开发商排名先看效果#xff08;主要实现点击按钮切换图片#xff0c;未解锁按钮弹出提示#xff0c;点击过后播放动画#xff09; 预备知识#xff08;单例模式#xff0c;携程#xff0c; Resources.Load加载资源的方式#xff09; 资源准备#xff08;底部按钮7个图标#x…先看效果主要实现点击按钮切换图片未解锁按钮弹出提示点击过后播放动画 预备知识单例模式携程 Resources.Load加载资源的方式 资源准备底部按钮7个图标1920*1080的图片7个  1.场景搭建创建4个空对象并修改名字创建Resources文件夹并在其中创建4个子文件夹并把准备的资源放到里面去 2.创建一个画布并将这两个空对象LayerRootBottom拖到画布中并设置位置 3.设置画布的缩放模式设置缩放模式并调整分辨率为1920*1080 4.制作界面在LayerRoot中创建一个图片Image)并修改名字为“界面1”将准备的图片拖到图片的原图像中然后设置图片的原生大小 最后得到这样一张效果图 5.用同样的方法制作界面2-7并将它们拖到Layers文件夹中做成预制体 6.给Bottom和LayerRoot添加RectTransform组件 7.删除多余的界面然后设置Bottom的锚点为底部这样是为了适应不同分辨率的屏幕 8.界面搭建 9.制作提示预制体并拖到Tips文件夹中 10.创建脚本文件夹并编写3个脚本ClickTextTipsMageUIManage控制点击的脚本提示管理器界面管理器 TipsMage using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;public class TipsMage : MonoBehaviour {//单例模式public static TipsMage Instance;void Start(){if (Instance null){Instance this;}else{Destroy(gameObject);}}public void ShowTips(string titel , string content){ //利用Resources.Load加载预制体GameObject tips Resources.Load(Tips/Tips) as GameObject;//实例化预制体GameObject tipobj Instantiate(tips);//设置tips的标题和内容tipobj.transform.Find(Tips_box/titel).GetComponentText().text titel;tipobj.transform.Find(Tips_box/content).GetComponentText().text content;//找到装提示的容器GameObject UiLayer GameObject.Find(LayerRoot);//将提示添加到容器中tipobj.transform.SetParent(UiLayer.transform);tipobj.transform.position UiLayer.transform.position;//一段时间后销毁提示Destroy(tipobj, 2f);} }UIManage using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;public class UIManage : MonoBehaviour {//单例模式public static UIManage Instance;//放置所有UI的根节点private Transform _uiLayerRoot;//存放已经打开过的UIprivate ListGameObject _openedUI new ListGameObject();//上一个打开的UIprivate string _lastOpenUIname;private void Awake(){if (Instance null){Instance this;}else{Destroy(gameObject);}_uiLayerRootGameObject.Find(LayerRoot).transform;_lastOpenUIname Layers/icom1;_openedUI.Add(GameObject.Find(Layers/icom1));}//打开单个public void Openlayer(string layerName){//查找之前是否打开过GameObject openedLayer _openedUI.Find(item item.name layerName);if (openedLayer null layerName!){Closelayer(_lastOpenUIname);GameObject newLayer Resources.Load(layerName) as GameObject;GameObject layerInstance Instantiate(newLayer, _uiLayerRoot.position, Quaternion.identity);_openedUI.Add(layerInstance);layerInstance.name layerName;layerInstance.transform.SetParent(_uiLayerRoot);_lastOpenUInamelayerName;}else if (openedLayer.activeSelf false){GameObject layer _openedUI.Find(item item.name layerName);if (layer ! null){layer.SetActive( true);}Closelayer(_lastOpenUIname);_lastOpenUIname layerName;}}//关闭单个public void Closelayer(string layerName){GameObject layer _openedUI.Find(item item.name layerName);if (layer! null){layer.SetActive(false);}}//关闭所有public void CloseAll(){foreach (GameObject ui in _openedUI){ui.SetActive(false);}} }ClickText using System.Collections; using UnityEngine; using UnityEngine.UI;public class ClickText : MonoBehaviour {// 显示的界面名字public string OpenLayerName;// 控制动画的携程Coroutine JumpControllercont;// 静态变量来跟踪当前正在播放动画的协程private static ClickText currentAnimatedButton;void Start(){gameObject.GetComponentButton().onClick.AddListener(() {if (OpenLayerName ){TipsMage.Instance.ShowTips(友好提示, 你还没有设置显示的界面);}else{// 如果有其他按钮正在播放动画停止它的协程if (currentAnimatedButton ! null currentAnimatedButton ! this){currentAnimatedButton.StopCoroutine(currentAnimatedButton.JumpControllercont);currentAnimatedButton.gameObject.transform.Find(icom).GetComponentRectTransform().localPosition new Vector3(0, 0, 0);}UIManage.Instance.Openlayer(OpenLayerName);if (JumpControllercont null || currentAnimatedButton ! this){JumpControllercont StartCoroutine(JumpController());// 设置当前播放动画的按钮为这个按钮currentAnimatedButton this;}}});//设置默认点击按钮if (gameObject.name Option1){gameObject.GetComponentButton().onClick.Invoke();}}IEnumerator JumpController(){while (true){gameObject.transform.Find(icom).GetComponentRectTransform().localPosition new Vector3(0, 100, 0);yield return new WaitForSeconds(0.5f);gameObject.transform.Find(icom).GetComponentRectTransform().localPosition new Vector3(0, 0, 0);yield return new WaitForSeconds(0.5f);}} }11.先将提示管理器和界面管理器拖到对应的空对象上 12.给所有的白色方块先添加按钮组件再添加 刚刚编写的脚本 13.在这里设置你点击按钮后想要打开的界面Layers文件夹的名字/界面的名字 如果不设置点击名字那么就是弹出刚刚设置的提示框 基本信息代码里面都写了注释资源包链接 GitHub - laozhupeiqia/Princess-Connect-
http://www.zqtcl.cn/news/54631/

相关文章:

  • 网站的框架网页制作师就业班
  • 淄博企业高端网站建设东莞注册公司
  • 淘客网站如何做推广运营托管公司
  • 单网站建设做网站开发找哪家公司
  • 上海cms建站网络个性化定制
  • 在线科技成都网站推广公司开发公司租赁机械车位价格
  • 网站建设开发软件有哪些方面网站后台无ftp
  • 网站炫酷首页金川做网站公司
  • 长江商学院 网站建设vi设计怎么做
  • 做高端网站的网络公司建设银行网站电子支付在哪里
  • 自助建站网站系统wordpress 新闻插件
  • 成都网络公司网站建设上海官网seo
  • 青海省建设网站多少钱wordpress中htaccess
  • 帝国cms建站实例教程医疗网站建设需要什么资质
  • 网站提取规则怎么设置十大电商代运营服务商
  • 有好看图片的软件网站模板下载网络营销的含义和特点
  • 怎样才能做一个优质的外贸网站哪些网站做的最好
  • 猎头用什么网站做单智能硬件开发
  • 电子商务网站的建设流程做视频网站可行吗
  • 手机网站分类菜单建设一个同城购物网站
  • 北京市建设工程教育考试网站上海有几个区分别叫什么名字
  • 睿达科网络 网站建设上海企业网站制作多少钱
  • wordpress个人博客模版互联网广告优化
  • 青岛市建设监督管理局网站云服务器wordpress如何上线
  • 做网站分为竞价和优化ui设计灵感网站
  • 个人网站怎么建立流程齐家网装修怎么收费
  • 厦门建站服务网站建设实施计划
  • wordpress 注册邮件设置aso优化注意什么
  • 怎样做一个购物型的网站番禺区手机版网站建设
  • 商城网站制作需要多少费用东莞建网站的公