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

东莞建设教育网站各大企业邮箱

东莞建设教育网站,各大企业邮箱,无锡建设网站的公司哪家好,e网科技网站原理: 复用几个子物体,通过子物体的循环移动实现,如下图 在第一个子物体滑动到超出一定数值时,使其放到最下方 --------------------------------------------------------------》 然后不停的循环往复,向下滑动也是这…

原理:

复用几个子物体,通过子物体的循环移动实现,如下图

在第一个子物体滑动到超出一定数值时,使其放到最下方

--------------------------------------------------------------》

然后不停的循环往复,向下滑动也是这样的原理

下边上代码:

首先得到Scorll View的高度,使用UIpanel获取,

UIPanel uiPanel = this.GetComponent<UIPanel>();

计算一个最高点和一个最低点

 

使用 Scroll View的y轴位置,加减其高度的一半获得

topY = grid.transform.TransformPoint(new Vector3(0, uiPanel.height / 2 + this.transform.position.y, 0));
bottomY = grid.transform.TransformPoint(new Vector3(0, this.transform.position.y - uiPanel.height / 2, 0));

为什么要转换为世界坐标呢?

首先要看一下Grid和Item是如何滑动的,如下:

可以发现滑动的时候,Grid和子物体面板上的坐标压根不变,显示的都是本地坐标,所以要用一个变量来判断,就必须转换到世界空间下的坐标,有了这个就可以进行判断了,代码如下:(目前代码不是最优,中间增加了没有必要的判断,后边会优化掉)。

 // 处理向上滚动 
for (int i = 0;i < visibleItems.Count; i++)
{if (grid.transform.TransformPoint(visibleItems[i].transform.localPosition).y > topY.y){}}   // 处理向下滚动for (int i = 0; i < visibleItems.Count; i++){if (grid.transform.TransformPoint(visibleItems[i].transform.localPosition).y < bottomY.y){}}

然后经过判断,就可以对子物体的坐标位置赋值了,前边已经说过子物体的本地坐标是不变的,那么就可以 利用这一点,在头部Item到尾部时,让它的本地坐标减去中间间隔的子物体数量*子物体的高度,在尾部到头部也是一样,代码如下:

//头到尾
visibleItems[i].transform.localPosition = new Vector3(0, visibleItems[i].transform.localPosition.y - visibleItemCount * 100, 0);//尾到头
visibleItems[i].transform.localPosition = new Vector3(0, visibleItems[i].transform.localPosition.y + visibleItemCount * 100, 0);

如何判断向上还是向下滑动?

记录grid的世界坐标,如果这一帧的值比上一帧的值小,则是向下,否则是向上,并在Update函数下执行,使用一个bool值,使其只在拖动列表的时候执行,代码如下:

    private void Update(){if (isDrag){currentPosition = grid.transform.position.y;// 处理向上滚动if (currentPosition > lastPosition){}// 处理向下滚动else if (currentPosition < lastPosition){}lastPosition = currentPosition;}    }

这个bool值如何赋值?

使用Scroll View的两个函数.onDragStarted,onDragFinished,在代码中给这两个函数分别绑定改变这个bool的值的函数即可。

最后结果:

http://www.dtcms.com/wzjs/557490.html

相关文章:

  • 个人怎样建网站广州seo网站管理
  • asp.net网站改版 旧网站链接外链群发
  • wordpress编辑器增加按钮佛山百度seo点击软件
  • 协会网站建设方案高端网站制作哪家专业
  • 网站建设规划模板wordpress 时间轴
  • 网站建设资金预算中国建筑集团有限公司公章图片
  • 制作网站用什么语言电影网站源码access
  • 网站怎么做百度权重wordpress大学添加背景音乐
  • 如何做网站知乎网站死链接怎么删除
  • 吉林市城市建设管理执法局网站可以用什么做网站登录页面
  • 学网站建设要多长时间国外画册设计欣赏网站
  • 未备案的网站 访问 hots一键优化清理加速
  • 五网合一网站建设中信建设公司领导班子
  • 发布做网站需求qq群网站栏目划分的原则
  • 金华网站制作系统wordpress用nginx
  • 佛山网站建设和维护装修平台自己做网站有几个
  • 网站制作流程有哪些步骤?wordpress模板制作视频教程
  • aspsql server典型网站建设案例 源码网站建立吸引人的策划活动
  • wordpress简单企业站上传文章网站
  • 百度网站置顶怎么做网站搭建博客
  • 山东自助seo建站网站开发使用数据库的好处
  • 有没有建筑学做区位分析的网站平面设计接单app
  • 兰州做网站怎么样抖音小程序开发者平台
  • 可以免费建网站的怎么做脱机网站
  • 塘厦镇做网站安卓网站开发
  • 做优化的网站用什么空间好河南网站制作
  • 很多卖假药冒产品用二级域名做网站做电音的软件的专业下载网站
  • 建设网站基础知识国外经典手机网站设计
  • 网页设计视频教程-响应式手机网站制作深圳的互联网公司排名
  • wordpress默认主题位置seo平台