首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要帮助剖析和重新创建基于PastryKit的完美滚动宽松

需要帮助剖析和重新创建基于PastryKit的完美滚动宽松
EN

Stack Overflow用户
提问于 2016-07-27 17:35:07
回答 1查看 532关注 0票数 5

对于web,我通常只使用本机滚动机制。它们快速、可靠,不涉及编码。

但是,虽然越来越多的工作在团结,我已经发现,可供滚动插件,即使是大的,如Unity.UI或NGUI是可怕的。我四处打听,发现在大多数平台上都是这样。物理状况很差。

我做了很多研究,我尝试过一些解决方案,从NGUI scrollView,到web iScroll.js等等。我没有找到像苹果最初的PastryKit那样完美的解决方案。现在,PastryKit已经老了,不受欢迎,没有API,而且像象形文字一样难读。

但是,重要的是,,在制作它的同时,他们成功地重新创建了iOS动力学卷轴物理行为。

我不是在尝试实现PastryKit,而是想了解它是如何工作的。我正在努力理解和复制.

我正在尝试,找出他们使用的附加条件/公式,以及他们使用它们的逻辑条件。苹果有一种疯狂的方式来编写令人困惑的JS,所以即使我是一个完整的堆栈开发人员,我也很难找到所有的东西。我想几乎没有人的大脑比一个更好了,所以让我看看,有没有人能理解这个文件?

https://github.com/jimeh/PastryKit/blob/master/mobile/dist/PastryKit.js

简单地说,(所以没有误解):我正在尝试从这个文件中提取一组物理规则,我可以使用它作为指导,以便在我选择的任何平台上编写自己的滚动实现。:)

例如:“普通”滚动图由{>300 is && >10 by }定义,苹果在减缓减速动画时使用以下贝塞尔曲线。立方-bezier.com/#.25,.46,.1,.94

更新:我们不久前解决了这个问题。我们发现了苹果的发展势头。 https://medium.com/homullus/recreating-native-ios-scroll-and-momentum-2906d0d711ad

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-30 20:00:46

经过几个小时的分析,我们得出结论,苹果实际上是在使用神奇的数字。神奇的数字是:(鼓声)动量* 0.95。

基本上,当触摸持续的时候,苹果让你移动屏幕1:1。

在触屏端,苹果会通过除以用户滑动的像素数和用户滑动的时间来获得动力。如果像素数小于10或时间小于0.5,动量将被限制为零。

无论如何,一旦我们知道了动量(速度),他们就会在每一帧中把它乘以0.95,然后移动屏幕那么大。

如此愚蠢的简单和优雅,以致于令人心痛。:)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38619717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档