美文网首页原型与动效制作 Framer学(入)习(坑)指南设计
Framer教程 | 今天怎样让自己看起来不单身?

Framer教程 | 今天怎样让自己看起来不单身?

作者: leadream | 来源:发表于2016-08-09 09:12 被阅读740次

今天是情人节,我没有女朋友。但是,有了Framer这个神器我可以假装自己不单身啊!

实不相瞒,从九零年开始我就和我的影子在一起了,如今已同甘共苦九千多天。

我和我的影子

我编不下去了。这是我在大家约会的时间用Framer制作的一个小动效,它可以不断地计时,上面的一颗心也会随着时间流逝而翻页。不管单身与否,Framer还是要学的,我们一起看看如何实现这个效果吧。

这个效果的实现分为两部分,一个是上面的“心”翻页效果,一个是下面的计时效果。先看一下“心”翻页效果如何实现。

我们只需要使用三个半心——两个在下面固定不动,另外一个在上面翻页。我给下面的两个半心起名叫左心房和右心房。

左右心房

再新建一个图层,起名为flipHeart,它的代码如下:

翻页的心

看着flipHeart这个名字,我想起一部电影《flipped》,中文名叫《怦然心动》,讲了一个美好的初恋故事。回到正文,flipHeart的代码中有个originX属性,它的意思是把x轴的旋转中心移到该元素的最左侧,和ps里的旋转中心类似。

类比ps

flipHeart的动画过程:

围绕左边缘线翻转180度到左边,立即回到右边重复上一步。如此往复循环,就会一直不断地翻下去。但是为了达到更好的效果,我们还要控制它在翻转过程中的明暗变化。所以,我们将其拆分为三个过程:0-0.4s内翻转90度到垂直于屏幕所在平面,亮度由暗变亮;0.4s-0.8s内翻转到最左边,亮度由亮变暗;0.9s的时候回归到右边(此过程不带动画)。你可能会有疑问,为什么不是前0.5s内翻到中间,后0.5s翻到左边,在1s这一瞬间立即回归原位呢?这是因为如果翻转到了左边立即回归原位,中间没有时间间隙,它就会闪一下不是很自然。

对应的,我们给flipHeart添加两个状态,分别是翻转到中间和翻转到右边的状态:

flipHeart状态

加上初始状态,现在它一共有三个状态。上面代码中的brightness是图层的亮度属性,我们让它翻转到中间时变亮(140),翻转到左边时又变暗(93)。

动画属性设置如下:

动画属性

每次动画时间是0.4s,动画曲线设为匀速运动可以让真个翻页过程更统一,当然你也可以尝试不同曲线做出不同感觉。

下面开始写它的状态转换,先写翻页一次的代码:

flipHeart翻转一次的代码

这段代码的意思就是,在0s的时候转换到middle状态,0.4s后到了middle状态,此时再转换到over状态,0.9s之后立即转到default状态,就是初始状态。

但是我们需要它不停翻页,所以需要一个计时器Utils.interval每隔1s执行一次。我们把它装进一个函数,每次执行这个函数就行啦。需要注意的是在计时之前先执行一下翻页,因为计时器默认的第一次执行是在这个时间间隔之后。

加上计时器

现在我们看看第二部分的效果如何实现。

第二部分

这个比较复杂,需要一定的js基础。大概原理就是,每隔1s计算一下既定时间(情侣开始在一起的时间)和当前时间之间的秒数差,除以3600*24就是剩余的天数,除以60的余数就是剩余的秒数,其它的计算方式看代码:

计算代码

我们把它放进上面那个计时器里面,让它不停地改动showLove图层的文字内容,就出现效果啦。

怎么样?现在你看我是不是不单身了呢?

因为不用约会,我用剩余的时间把它做成了一个网页小应用,没有Framer的同学也可以戳这里玩。

点击这里获取源代码文件。

相关文章

网友评论

  • 711child:怎样查找要用的函数比如parseInt()呢,在程序的docs里没有找到呀,还请指教~
    leadream:@711child 额,这是javascript里面的,不是framer自带的。
  • 711child:关于handle函数那一段,第二个delay改成与“flip_heart.states.switch("over_state")”并列:Utils.delay 0.4 ,就是在原来时间上继续delay 0.4, 感觉更好理解一些
    leadream:@711child 恩,有道理。谢谢建议
  • 8e701b91f0c9:觉得好复杂呀😊
  • 3566f335d8ce:学习完这段程序,估计都已经找到男朋友了:stuck_out_tongue_winking_eye:
    leadream:@隔壁的墨鱼 我把她写在代码里了。
  • huangxiaohao:一早上就做好了吃狗粮的准备啦
    http://www.jianshu.com/p/22ad10f4a12d
    huangxiaohao:大神有时间能写一篇介绍Utils的文章吗,好多地方都用了,还是不明白,恍恍惚惚~~
    huangxiaohao:@leadream :stuck_out_tongue_closed_eyes::stuck_out_tongue_closed_eyes::stuck_out_tongue_closed_eyes:
    leadream:@浪子丶青菜 今天准备多囤点,第二袋狗粮半价呢。
  • 须臾之间_:标题看起来就很忧伤 然而页面很甜
    leadream:@须臾之间_ 实不相瞒,我和我的影子在一起了。
  • 海边女娃:喜欢 但还是不懂
    海边女娃:@leadream 好难懂 不过真的很喜欢
    leadream:@嘿哈耶呵 第一部分搞懂就可以啦
  • 汤大米:假装自己有对象←_←还有,大神,你暴露年龄了,哈哈哈哈哈哈~
    Ucca:@leadream 原来你大龄未婚:smiley:
    汤大米: @leadream 哈哈 我会保密的~=^_^=
    leadream:@汤大米 啊啊啊,现在只有你知道我是大龄未婚青年,不要告诉别人哦。

本文标题:Framer教程 | 今天怎样让自己看起来不单身?

本文链接:https://www.haomeiwen.com/subject/ciarsttx.html