当前位置: 首页 > 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/737779/

相关文章:

  • 上海个人做网站网站建设销售好做嘛
  • 邵阳建设网站哪家好手机网站栏目结构图
  • 做动车哪个网站查网站环境配置
  • 那些网站可以做h5国内新闻最新消息今天简短
  • asp网站开发实例河南省建设招投标网站
  • 营销型网站搭建公司有没有专做推广小说的网站
  • 汕头网站搭建wordpress文章列表摘要
  • 网站开发体会800字网站开发新功能
  • 网站域名查询ip杭州pc网站开发公司有哪些
  • 青岛公司网站设计网站后台编辑器内容不显示
  • vc6.0做网站wordpress调用会员等级
  • 哪个网站有做商标网站的类型是什么意思
  • 网站 主机网站内容段落之间有空格对seo有影响吗
  • 网站的宣传推广学网站开发哪个好
  • 免费背景图片素材网站北京企业建站程序
  • 营销网站建设方案wordpress门户
  • 世界网站排名查询效果好企业营销型网站建设公司
  • 网站用户体验解决方案个人网页设计作品赏析
  • 常州网站建设方案外包网站开发用到的技术
  • 防伪网站模板如何找百度做网站
  • 网站建设与维护成绩查询云南app开发系统
  • 自己做网站的难度建设专门网站 强化信息宣传
  • 公职单位建设网站的目的如何查看小程序的开发公司
  • 网页模板网站推荐青岛 php 网站建设
  • joomla 网站建设3d网站建设
  • 网站开发与维护专业前景网站被禁止访问怎么打开
  • 山东 网站建设青海公路建设市场信用信息服务网站
  • 济南正规做网站公司wordpress一键还原
  • 免费的购物网站源码百度网站优化
  • 企业需要做网站吗深圳装修公司前十强