在Jeff的地图动画中,他同时使用了所有位置、透明度和比例动画的组合。
- 初始的面板稍微缩小并且透明度降低,所以它很好地淡出到应用的背景中去了。
- 地图面板从一个比1.0倍稍微大一点的比例(可能是1.1倍之类的)以及0.0的透明度开始。然后动画减小到1.0倍以及1.0的透明度。它还有一个轻微的位置动画来上移一些像素。
记得这个手表的界面和它光滑的动作么?真的没有什么秘诀,这个动画设计唯一的属性就是元素的位置。没有比例或者透明度的调节,元素仅仅是在屏幕上通过改变他们的位置来移入移出。每个动画的开始时间会比前一个元素稍微错开一点来给出一种“拖拽”的感觉,但是唯一用到动画里的就只有位置。
动画一个元素的位置、透明度和比例可以让你走的很远,但当然也有其他你可以在动画中操作的属性。这里是三个在更高级的动画中经常用到的元素属性。
颜色。
就如CSS动画中一样,你可以在两个值之间过渡颜色。这可以是你界面中一些文本的颜色或形状和面板的背景色。你可以在一次点击或者介绍一个新界面给用户的时候过渡颜色。或者可以在用户首次体验一个滑动的时候在颜色之间缓慢地切换。
旋转。
你界面中的物体可以旋转,从初始的0度到360度的旋转状态到360度的整体旋转并回到0度。当你在代码中创建动画的时候旋转通常使用弧度来表示(0到2π)。轻微的旋转动画可以增加非常灵巧有趣的元素到原本平凡的动作中去,尤其是和之后会讨论的跳跃动画曲线组合的时候。
3D。
在你的界面中以3D的方式变化一个物体意味着在第三个方向上操作它,并且当你在动画中使用3D的时候,通常要么是3D旋转回屏幕,要么是旋转向用户。这个旋转的数量也是像2D平面旋转一样用弧度来表示的,但3D动画的另一个关键因素是你想使用多少透视程度。通过改变透视值,你可以有限地描述元素会被放置在视觉上离屏幕前端多远的地方。这取决于3D变化过程中变形的数值。
一个精细的3D效果的例子是Clear中捏的动画。这个视觉效果是任务条目行视觉上折了一半,其中每一半都向屏幕里面旋转(在3D空间上)。旋转的数值和行的上下两半的位置都被仔细的控制,所以在中间没有缝隙去影响效果。还有,为了让它看上去确实像一个三维物体,要让行的上半部分比下半部分暗来显示一个阴影。这类似于Paper中的弹起动画:新闻在打开的时候使用了一个3D变化来旋转向用户。
Clear中的捏交互
查看完整合集:https://github.com/Cloudox/Motion-Design-for-iOS