Unity-NGUI列表缓动效果

本文详细探讨了在Unity中如何利用NGUI实现列表的缓动效果。通过对UIScrollView的Drag()和LateUpdate()方法的分析,揭示了mMomentum变量在滑动过程中的关键作用。在按下时,mMomentum逐渐减小,从而控制滑动距离。通过调整DampenStrengthDiff的值可以调整缓动效果的强度。
摘要由CSDN通过智能技术生成

既然要修改缓动效果,首先要定位到UIScrollView。

首先开始分析,在Drag()方法里,mMomentum会不断的变大,只有

         if (pressed) mMomentum = Vector3.zero;

那么,为什么我们实际滑动的距离都会受限制或者说会被抑制呢?

最终我们会在LateUpdate()方法里发现目标

// Move the scroll view
Vector3 offset = NGUIMath.SpringDampen(ref mMomentum, dampenStrength,delta);
MoveAbsolute(offset);        

在我们按下时,mMomentum会随之变小,从而达到抑制我们本次滑动距离的目的

接下来开始正题:

//公开一个参数,在面板组件上可以直接调试已经方便开发人员调整
public float DampenStrengthDiff = 2f;

//同时,不要忘了关键性的一步
NGUIEditorTools.DrawProperty("DampenStrength Diff", serializedObject,DampenStrengthDiff");


//这个字段为了有一些情况或者是面板不希望进行缓动时的机制
float _SpringDampenTime = 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值