看一个微信推送文,发现了一堆脑洞大开的程序员音量键设计图,特别为这种发射式的所折倒,于是磨拳霍霍开工了,最后可喜可贺的获得了两个小成品~
先让我急不可耐的展示一下:
一号 —— 豌豆发送式(发射感没有原作好,有时间要拜读一下)
二号 —— 清风缓送式(这是一开始没看清动图的真意,自己创造出来的变形版,效果却意外满意)
其实没啥特别技术,就是算好x和y位移,用setInterval控制着translate变化。
但是这里面也有几处可以说道说道:
怎么成为一个组件?
之前看了组件化思维的推文后就很自然的想到了这个问题,我对这个音量键如何组件化的思考结论是:要解决2个问题,一个是样式上的独立性;另一个是数据的内外传输问题。
样式方面,我以volumeWrapper的font-size为基准进行布局,也就是以后使用时只要更改字体大小,就能实现音量键的大小缩放,不过可能有个取值范围,约莫在30px以内可以hold住吧……
数据方面,我百度了自己制作的音量键如何去控制系统音量,然而没有找到满意的答案,所以在数据传输这方面,我是非常欠缺的,没有进行任何设计为什么这是个设计师不能接受的黑设计?
做动画的时候我就发现了,因为我不能均匀的调节音量大小的变化……这里面应该是涉及了抛物线的数学问题,我也尽我可能的去做了均衡(使用分段函数),但是这方面比较渣,其实还是不太平均的。豌豆发射感较差
这里面应该还是数学问题,啊,现阶段我真的尽力了,甚至做了前期增幅步长较大、后期增幅较小的设置,然而还是没有那种猛地喷出感……真的是需要去拜读一下原码!
最后,还是非常痛快的一次制作,哈哈,虽然做完后感觉自己被掏空。然后,还是看到了很多对基础的需求→我的欠缺,所以……继续努力吧~