栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > 其他

Unity-NGUI列表缓动效果

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Unity-NGUI列表缓动效果

既然要修改缓动效果,首先要定位到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 = delta;

//如果我们公开的参数被输入>0则进行计算,否则不处理
if (DampenStrengthDiff > 0)
{
   _SpringDampenTime = delta / 2;
}

//这里把我们修改后的强度以及时间传入
Vector3 offset = NGUIMath.SpringDampen(ref mMomentum, dampenStrength - DampenStrengthDiff, _SpringDampenTime);

MoveAbsolute(offset);

最后一步,运行查看效果以及调试~

Tips:通过修改DampenStrengthDiff的值就可以控制列表的缓动效果了~~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/902121.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号