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

长春网长春网络推广站排名中国铁路人才招聘网

长春网长春网络推广站排名,中国铁路人才招聘网,网络设计实训课程,山东网站seo开发在许多应用程序和游戏中#xff0c;年份选择是一个常见的需求。无论是在日历应用程序中查看事件#xff0c;还是在历史类游戏中选择时间段#xff0c;年份选择器都是用户体验的重要组成部分#xff0c;下面实现一个简易的年份选择器。 一、效果预览#xff1a; 目录 一、…在许多应用程序和游戏中年份选择是一个常见的需求。无论是在日历应用程序中查看事件还是在历史类游戏中选择时间段年份选择器都是用户体验的重要组成部分下面实现一个简易的年份选择器。 一、效果预览  目录 一、效果预览  二、步骤 2.1 场景准备 2.2 项目准备 2.3 编写脚本 三、总结  二、步骤 2.1 场景准备 1. 创建场景新建Image调整大小为宽360高300原理年份内容显示5个每个宽100高60总共60*5于是高设置为300。 2. 为Image添加mask组件遮挡其他年份和ScrollRect 组件使其作为滚动视图的容器最后调整参数我这里垂直滚动于是取消了Horizontal选项。 3. 在Image下创建空物体GameObject用来存放后面运行生成的年份。 4.为空物体GameObject添加Grid Layout Group和Content Size Fitter组件调整参数这里可以在其下创建几个Image查看效果。 5. 在Image的ScrollRect 组件中拖入相应物体。 2.2 项目准备 创建Text预制体用来显示年份 字体等参数可以根据自己需要调整。 2.3 编写脚本 using UnityEngine; using UnityEngine.UI;public class SlidingAdsorption : MonoBehaviour {public GameObject yearTextPrefab; // 预设的年份Text对象public ScrollRect scrollRect;public float scaleDifference 0.5f; // 缩放差异public RectTransform contentRectTrans; // Scroll Rect Content的RectTransformprivate RectTransform[] items;//用来存放生成的年份int yearsCount 40; // 年份总数float viewPortSize;float center;int itemCount;void Start(){// 获取ScrollView的视图大小300;viewPortSize scrollRect.viewport.rect.height;Debug.Log(ScrollView的视图大小: viewPortSize);// 计算ScrollView的中心位置center scrollRect.transform.position.y;// - viewPortSize / 2; Debug.Log(ScrollView的中心位置: center);for (int i 0; i yearsCount; i){GenerateYearText(1950 i);}// 获取ScrollView中的所有子对象itemCount scrollRect.content.childCount;items new RectTransform[itemCount];for (int i 0; i itemCount; i){items[i] scrollRect.content.GetChild(i).GetComponentRectTransform();//Debug.Log(items[i]: i);}}void Update(){foreach (RectTransform item in items){// 计算每个项目的中心位置float itemCenter item.transform.position.y;// - item.rect.height / 2;//Debug.Log(每个项目的中心位置: itemCenter);// 计算每个项目相对于ScrollView中心的偏移量float distanceFromCenter Mathf.Abs(center - itemCenter);// 根据偏移量计算缩放比例float scale Mathf.Clamp(1 - distanceFromCenter * scaleDifference / viewPortSize, 0.5f, 1f);//Debug.Log(根据偏移量计算缩放比例: scale);// 应用缩放item.localScale new Vector3(scale, scale, 1f);}// 如果用户停止滑动则吸附到最近的年份if (scrollRect.velocity.magnitude 20.0f){SnapToNearestYear();Debug.Log(不移动了);}}private void GenerateYearText(int year){GameObject yearText Instantiate(yearTextPrefab, contentRectTrans);yearText.transform.SetAsFirstSibling();yearText.transform.GetComponentText().text year.ToString();}void SnapToNearestYear(){RectTransform closestItem null;foreach (RectTransform item in items){float distance Mathf.Abs(center - item.position.y);if (distance 35)// 根据需求调整阈值{closestItem item;Debug.Log(装入了一个Item);}}// 将最近的年份吸附到ScrollView的中心if (closestItem ! null){// 计算需要移动的距离float distanceToMove center - closestItem.position.y;// 将ScrollView的内容向上或向下移动使最近的年份对象出现在ScrollView的中心scrollRect.content.anchoredPosition new Vector2(0f, distanceToMove);}} }将脚本挂载在Canvas上并将相应物体拖入。 此处原理可以参考我这两篇文章如何在 Unity 中创建带有缩放效果的滚动视图简单方法  在Unity 中创建带有缩放效果的滚动视图具有吸附效果的实现与优化 三、总结  通过本文探讨了在Unity中创建年份选择器的基本步骤无论是在日历应用、历史游戏还是其他类型的应用中一个功能完善的年份选择器都能够为用户提供更好的体验提升应用的质量和竞争力。希望本文能够对读者在Unity开发中实现年份选择器有所帮助为其未来的项目开发提供有益的指导和参考。
http://www.hkea.cn/news/14362684/

相关文章:

  • 重庆怎么在网站上做广告商丘网站建设的公司哪家好
  • 黄冈免费网站建设平台如何做一个网页
  • 织梦网站排版能调整吗音乐网站前端模板
  • 怎么查出这个网站是谁做的建站软件
  • 安陆做网站公司长沙网站搜索引擎优化
  • 唐山市里做网站的有哪些网站建设公司
  • 黑河网站建设公司wordpress删除媒体库
  • 自己的网站怎样做优化谷歌优化网站链接怎么做
  • 徐州专门做网站做网站用vue吗
  • 响应式网站跟自适应网站的区别黑马it培训班出来现状
  • 网站开发招标公告陕西锦宇建设有限公司网站
  • 石排仿做网站邢台123最新求职招聘信息
  • 申请好域名后怎么建设网站网站后台素材
  • 哈尔滨网页设计网站模板网站模板 源码之家
  • 网站建设哪儿济南兴田德润什么活动网站建设公司模版
  • 1核1g服务器做网站江山市建设局网站
  • 北京seo排名优化网站拼多多怎么申请开店
  • 黄冈智能网站建设平台手机下载视频网站模板下载失败
  • 怎么查看一个网站是不是伪静态小说网站开发的目的
  • 沈阳餐饮网站建设html网站编辑器
  • 深圳企业建网站云服务器优惠活动
  • 国外做外贸哪个网站好些上海建筑公司名称大全
  • 生活家装饰官方网站惠州网站网站建设
  • 好用的在线地图网站小程序开发制作官网
  • 绿化信息网站建设河南省交通基本建设质量检测监督站网站
  • 免费企业网站模板源码如何快速网站备案
  • 建个企业网站要多少钱微信开发者工具文档
  • 个人网站如何备企业开发者模式关掉好还是开着好
  • 专门做验收报告的网站域名注册服务网站查询
  • 中企动力做的网站怎么登陆wordpress如何发布视频