提示

4

阅读时间

如何制作循环动画,第2部分

第 2 部分,制作一个无限分页滚动,使页面在两个相反方向上反复滑动。

利亚·韩, 中国业务负责人

大家好!我是 ProtoPie 老师 Leah,带来《循环动画》的第二部分。

上周我们讲了基础循环动画;这次我们将教你如何制作无限分页滚动。不过首先……

什么是无限分页滚动?

无限分页滚动是指你可以像下面的演示一样,在两个相反方向上反复滑动页面。


An infinite paging scroll demo gif

下载 Pie 文件

它背后的逻辑是什么?

在这个案例中,我使用了 3 个页面,并通过分页容器将它们分组。

这是 ProtoPie 中一个非常基础的功能。如果你还没有尝试制作分页容器,这个

会对你有帮助。

我默认你已经知道如何制作它了,所以我们直接进入下一步。

  1. 当你将第 3 页向左滑动时,它后面应该还有一页跟着。所以我们需要将第 1 页复制为第 1' 页,并把它放在第 3 页之后。

  2. 当第 1' 页滚动到屏幕中央时,在那一刻,4 个页面都应滚回到初始位置,这样第 1 页会再次出现在屏幕上。从视觉上看,如果我们立即将它们滚回去(during=0),用户将无法察觉第 4 页(第 1' 页)的存在,因为它与第 1 页完全相同。


Scroll goes back to the original gif


滚动回到初始位置

  1. 现在我们来学习如何让页面从右向左滚动。首先,和之前一样,第 1 页左侧应该有一页,所以我将第 3 页复制为第 3' 页,并放在第 1 页左边。然后让这 5 个页面从第 1 页开始滚动。如果你不知道怎么做,请查看如何从中间页面开始分页

  2. 和之前一样,当第 3' 页移动到屏幕中央时,我们需要立即将页面滚回到第 3 页,这样就可以继续从右向左滑动。


Scroll and paging completed example gif


滚动与分页完成示例

如何用 ProtoPie 制作这个交互?

要实现它,我们需要使用“Range”触发器和“Scroll”响应。

  1. 当第 1' 页滚动到屏幕中央时,距离(滚动偏移量)是 750。使用“Range”触发器,我们可以将滚动偏移量设置在 749.5 ~ 750.5 之间,然后使用“Scroll”响应将页面滚动到 187.5(= 每一页的宽度)。

  2. 当第 3' 页滚动到屏幕中央时,距离(滚动偏移量)是 0。使用“Range”触发器,我们可以将滚动偏移量设置在 -1~ 1 之间,然后使用“Scroll”响应将页面滚动到 562.5(=每一页的宽度)。

注意:为什么我一个范围设置为 ±0.5,另一个是 ±1?嗯……你也可以把两者都设置为相同的 ± 数值,只要这个数值不要太大,效果就是一样的。

这个技巧没那么容易,对吧?你可以下载这个Pie 文件来更仔细地看看。

如果你还想看到我们讲解其他技巧,欢迎回复告诉我们。