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

学生做的动漫网站淘宝店有给网站做优化am

学生做的动漫网站,淘宝店有给网站做优化am,江苏盐城有做淘宝网站的吗,wordpress加接入又拍云效果图 用的是UGUI 我先说思路 通过判断元素的位置信息来改变Hierarchy的顺序 实现无限滚动 改变位置的同时也要不断的调整Content的位置防止乱跳 元素锁定就是直接锁死的元素的移动范围 当只有拖动大于一定程度时才会发生改变 然后是面板设置 整体结构是这样子的 需要注意的是…效果图   用的是UGUI 我先说思路 通过判断元素的位置信息来改变Hierarchy的顺序 实现无限滚动 改变位置的同时也要不断的调整Content的位置防止乱跳 元素锁定就是直接锁死的元素的移动范围 当只有拖动大于一定程度时才会发生改变   然后是面板设置 整体结构是这样子的 需要注意的是Content需要的两个组件 Content的爸爸只需要一个脚本 大小改变曲线大致就行 颜色渐变曲线   最后是脚本 1 using System;2 using System.Collections;3 using System.Collections.Generic;4 using UnityEngine;5 using UnityEngine.EventSystems;6 using UnityEngine.UI;7 8 public class DateControl : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler {9 10 public enum ItemType { _year, _month, _day }11 12 public ItemType _itemtype;13 14 RectTransform conentRect;15 16 RectTransform targetRec;17 18 Vector3 oldDragPos;19 20 Vector3 newDragPos;21 22 public AnimationCurve curve_scale;//改变大小曲线23 public AnimationCurve curve_color;//渐变效果曲线24 25 26 ListText textList new ListText();27 28 Button testBtn;29 30 float 31 itemHeight, //子项item的高32 contentParentHeight, //Content爸爸的高33 itemNum, //子项数量34 itemHeight_min, //子项最小发生改变位置35 itemHeight_max, //子项最大发生改变位置36 conentLimit, //Conent纠正位置37 conentSpacing; //子项间隔大小38 39 float deltaX, deltaY;40 41 [HideInInspector]42 public static int _year, _month, _day;43 44 [HideInInspector]45 int dateItemNum;46 47 Color itemColor_hig new Color32(255, 255, 255, 255);48 49 void Awake() {50 conentRect transform.FindChild(Content).GetComponentRectTransform();51 targetRec transform.parent.FindChild(HighlightTarget).GetComponentRectTransform();52 53 }54 55 void OnEnable() {56 ItemList();57 }58 59 void Start() {60 switch (_itemtype) {61 case ItemType._year: InstantiateData(15, 2017); break;62 case ItemType._month: InstantiateData(12, 12); break;63 case ItemType._day: InstantiateData(31, 31); break;64 }65 66 itemNum transform.FindChild(Content).childCount - 1;67 68 contentParentHeight conentRect.parent.GetComponentRectTransform().sizeDelta.y;69 70 conentSpacing conentRect.GetComponentVerticalLayoutGroup().spacing / 2;71 72 itemHeight textList[0].rectTransform.sizeDelta.y conentSpacing;73 74 if (itemNum % 2 0) conentLimit (itemHeight 5) / 2;75 76 else conentLimit 0;77 78 conentRect.anchoredPosition new Vector2(conentRect.anchoredPosition.x, conentLimit);79 80 deltaX textList[0].GetComponentRectTransform().sizeDelta.x;81 deltaY textList[0].GetComponentRectTransform().sizeDelta.y;82 83 Invoke(ItemList, 0.05f);84 85 }86 87 /// summary88 /// 生成子项item89 /// /summary90 /// param nameitemNum子项数量/param91 /// param namedat子项最大值/param92 void InstantiateData(int itemNum, int dat) {93 GameObject go;94 Text testObj conentRect.FindChild(Text).GetComponentText();95 for (int i dat - itemNum 1; i dat; i) {96 go Instantiate(testObj.gameObject, conentRect);97 go.GetComponentText().text i.ToString();98 go.name i.ToString();99 textList.Add(go.GetComponentText()); 100 ShowItem(true); 101 } 102 Destroy(conentRect.FindChild(Text).gameObject); 103 } 104 105 /// summary 106 /// 是增加或减少 107 /// /summary 108 /// param nameisIncreaseOrdecrease/param 109 void ShowItem(bool isIncreaseOrdecrease) { 110 itemHeight_min -itemHeight; 111 112 if (_itemtype ItemType._day) itemHeight_max -itemHeight * itemNum - 95; 113 else itemHeight_max -itemHeight * itemNum; 114 115 if (isIncreaseOrdecrease) { 116 foreach (Text rectItem in textList) { 117 if (rectItem.GetComponentRectTransform().anchoredPosition.y itemHeight_min) { 118 print(); 119 rectItem.transform.SetSiblingIndex((int)itemNum); 120 } 121 } 122 print(itemHeight_min); 123 } else { 124 foreach (Text rectItem in textList) { 125 if (rectItem.GetComponentRectTransform().anchoredPosition.y itemHeight_max) { 126 print(-); 127 rectItem.transform.SetSiblingIndex(0); 128 } 129 } 130 print(itemHeight_max); 131 132 } 133 } 134 135 /// summary 136 /// 渐变效果改变大小高亮显示 137 /// /summary 138 void ItemList() { 139 foreach (Text item in textList) { 140 float indexA Mathf.Abs(item.GetComponentRectTransform().position.y - targetRec.position.y); 141 float indexSc_scale Mathf.Abs(curve_scale.Evaluate(indexA / contentParentHeight)); 142 float indexSc_color Mathf.Abs(curve_color.Evaluate(indexA / contentParentHeight)); 143 if (indexA 15) { 144 item.color itemColor_hig; 145 switch (_itemtype) { 146 case ItemType._year: _year int.Parse(item.text); break; 147 case ItemType._month: _month int.Parse(item.text); break; 148 case ItemType._day: _day int.Parse(item.text); break; 149 } 150 } else item.color new Color(0, 0, 0, 1 - indexSc_color); 151 152 item.GetComponentRectTransform().localScale new Vector3(1 - indexSc_scale, 1 - indexSc_scale * 3, 1 - indexSc_scale); 153 //item.GetComponentRectTransform().sizeDelta new Vector2(deltaX - (deltaX * indexSc), deltaY - (deltaY * indexSc)); 154 } 155 156 } 157 158 /// summary 159 /// 获取int类型日期并转换为指定格式 160 /// /summary 161 /// returns/returns 162 public static string GetDateInfo() { return _year - _month - _day; } 163 164 /// summary 165 /// 纠正Conent位置 166 /// /summary 167 void UpdateEx() { 168 if (conentRect.anchoredPosition.y conentLimit) { 169 ShowItem(true); 170 conentRect.anchoredPosition new Vector2(conentRect.anchoredPosition.x, conentRect.anchoredPosition.y - itemHeight); 171 } 172 if (conentRect.anchoredPosition.y conentLimit) { 173 ShowItem(false); 174 conentRect.anchoredPosition new Vector2(conentRect.anchoredPosition.x, conentRect.anchoredPosition.y itemHeight); 175 } 176 } 177 178 /// summary 179 /// 获取拖拽信息并改变Conent位置 180 /// /summary 181 /// param nameeventData/param 182 void SetDraggedPosition(PointerEventData eventData) { 183 if (RectTransformUtility.ScreenPointToWorldPointInRectangle(conentRect, eventData.position, eventData.pressEventCamera, out newDragPos)) { 184 newDragPos eventData.position; 185 if (Mathf.Abs(newDragPos.y - oldDragPos.y) itemHeight) { 186 if (newDragPos.y oldDragPos.y) { 187 conentRect.anchoredPosition new Vector2(conentRect.anchoredPosition.x, conentRect.anchoredPosition.y itemHeight); 188 oldDragPos new Vector3(0, itemHeight, 0); 189 ItemList(); 190 } else { 191 conentRect.anchoredPosition new Vector2(conentRect.anchoredPosition.x, conentRect.anchoredPosition.y - itemHeight); 192 oldDragPos - new Vector3(0, itemHeight, 0); 193 ItemList(); 194 } 195 } 196 } 197 } 198 199 /// summary 200 /// 当开始拖拽 201 /// /summary 202 /// param nameeventData/param 203 public void OnBeginDrag(PointerEventData eventData) { 204 oldDragPos eventData.position; 205 } 206 207 public void OnDrag(PointerEventData eventData) { 208 SetDraggedPosition(eventData); 209 UpdateEx(); 210 } 211 212 public void OnEndDrag(PointerEventData eventData) { 213 SetDraggedPosition(eventData); 214 UpdateEx(); 215 } 216 }   照着来的话基本没什么问题 因为赶时间所以很多地方写的简单粗暴请谅解 如果调整元素大小或者间隙大小 需要改变itemHeight_min 和 itemHeight_max 的值 他们分别为 itemHeight_min  itemHeight_max  也就是元素的最顶层和最底层的Y值   以上就是年月日选择器的具体步骤  转载于:https://www.cnblogs.com/sangblog/p/6995534.html
http://wiki.neutronadmin.com/news/481174/

相关文章:

  • 网站开发需求目标深圳华鑫峰网站建设
  • 优化外贸网站开发购物网站描述
  • 微信营销微网站建设百度指数人群画像怎么看
  • 网站布局怎么用dw做网站 缓存方式
  • C 如何做简易网站企业管理软件开发软件公司
  • 中国品牌建设促进会网站想开发软件多少钱
  • 山东建设厅官方网站李兴军深圳百度推广代理商
  • 邢台网站建设行情大良网站建设如何
  • 广州市恒嘉建设有限公司网站建个网站
  • 沈阳公司网站建设一起做业网站登录
  • 做个人网页以下哪个单词表示搜索引擎优化
  • 网站ui是平面设计吗wordpress哪些插件
  • 织梦旅游网站源码南宁网站优化公司哪家好
  • 互动网站如何做网页制作步骤
  • 郑州响应式网站设计创意工作室网站
  • 网站设计 视频网络营销外包团队
  • 帝国cms网站搬家教程住建房产信息查询
  • 企业网站主页素描模板nginx代理wordpress
  • 如何建立像百度一样的网站游戏推广员如何推广引流
  • 学校诗歌网站建设山东电力建设第三工程公司网站
  • 如何创建wordpress数据库文件2022年seo最新优化策略
  • 沈阳做网站的企业网页模板简单
  • 做淘宝一样的网站有哪些爱客crm手机下载
  • 菜谱网站后台代码多语言网站 自助
  • 如何创建网站内容联通营业厅做网站维护
  • 网站怎么做可以被收录网页设计模板网
  • 公司做网站收费全响应式网站用什么做的
  • 平邑建设银行网站长春网站建设厂家
  • 温州微网站制作电话衡水移动网站建设
  • 正规seo排名多少钱seo的内容怎么优化