Unity 滑动列表时实现平滑阻尼效果修改篇
来源:互联网 发布:中文域名后缀 编辑:程序博客网 时间:2024/04/27 18:50
之前的方法实现出来的效果不太好,会出现不在边界也会有,一拖动就返回的现象,所以又重新修改了一下,不同的地方在于将边界检测与正常情况拖动进行了分类处理。
正常情况的检测是通过间接控制速度,边界检测则是控制位移;之前的是列表的,只能纵向拖动,现在修改了之后改为不限定方向,只要不出一个矩形框的范围就行。
float touchDeltaPositionX;float touchDeltaPositionY;float maxX=0f;float maxY=0f;float targetX=0f;float targetY=0f;float newPositionX;float newPositionY;
if(Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved){touchDeltaPositionX=Input.GetTouch(0).deltaPosition.x;touchDeltaPositionY= Input.GetTouch(0).deltaPosition.y;maxX=Mathf.Max(maxX,Mathf.Abs(touchDeltaPositionX)); maxY=Mathf.Max(maxY,Mathf.Abs(touchDeltaPositionY));if(touchDeltaPositionX<0)maxX=-maxX;if(touchDeltaPositionY<0)maxY=-maxY; groupObj.transform.Translate(maxX*Time.deltaTime*10,maxY*Time.deltaTime*10,0);}else{if(groupObj.transform.position.y>=-170&&groupObj.transform.position.y<=670f&&groupObj.transform.position.x>=-680&&groupObj.transform.position.x<=500){if(!Mathf.Approximately(maxX,0f)||!Mathf.Approximately(maxY,0f)){maxX=Mathf.MoveTowards(maxX,0f,0.6f);maxY=Mathf.MoveTowards(maxY,0f,0.6f); } groupObj.transform.Translate(maxX*Time.deltaTime*10,maxY*Time.deltaTime*10,0);}else{maxY=0;maxX=0;targetX=groupObj.transform.position.x;targetY=groupObj.transform.position.y;if(groupObj.transform.position.x>500)targetX=500;if(groupObj.transform.position.x<-680)targetX=-680;if(groupObj.transform.position.y>670)targetY=670;if(groupObj.transform.position.y<-170)targetY=-170;newPositionX = Mathf.SmoothDamp(groupObj.transform.position.x, targetX,ref xVelocity, smoothTime);newPositionY = Mathf.SmoothDamp(groupObj.transform.position.y,targetY, ref yVelocity, smoothTime); groupObj.transform.position=new Vector3(newPositionX,newPositionY,groupObj.transform.position.z);}}}
- Unity 滑动列表时实现平滑阻尼效果修改篇
- Unity 滑动列表时实现平滑阻尼效果初始篇
- ScrollView列表带阻尼效果滑动居中
- android 实现阻尼效果
- listView实现阻尼效果
- 列表界面Iphone式平滑效果实现
- ScrollView实现阻尼回弹效果!
- Android中实现仿微信界面切换平滑滑动效果
- jQuery实现页面内锚点平滑跳转 滑动效果
- 使用luncher实现类似iphone平滑滑动效果
- 阻尼效果
- Android 上下滑动阻尼效果/下拉图片伸缩
- 【Unity快速实现小功能】NGUI篇——快速实现一个可滑动列表
- Unity中SmoothDamp 平滑阻尼--相机跟随角色移动的示例
- react native 实现列表滑动 菜单栏悬停 (过程优化,体验更平滑)
- ANDROID GridView 分页平滑滑动 效果的实现(基于android TV遥控器操作)
- android实现仿照QQ好友列表滑动效果
- ExpandableListView 和SwipeLayout 实现双层列表 ,childitem 滑动删除效果
- [转]WIN7进程和服务详解
- 纪念我渐逝的爱情
- jquery validate 验证框架 addMethod
- CSocket 和CAsyncSocket类介绍
- oracle修改scott密码和解锁
- Unity 滑动列表时实现平滑阻尼效果修改篇
- 关于memcpy、memove的故事
- 浅析Java抽象类和接口的比较
- fedor 上 使用yum rpm的一些经验
- 五子棋(C语言) 详细注释
- 获取本机所有IP地址
- Redis与Memcached的比较
- 缓存设计的一些问题
- proxool