首先先来看看动画设计中的三个角色:产品设计师、算法分析师以及伟大的程序员都有哪些职责。
(1)产品设计师:告诉大家想做一个什么样的动画。
(2)算法分析师:分析动画的实现原理并设计相应的动画算法。
(3)程序员:思考如何用代码实现算法。
在一般中小规模的公司中,开发人员往往都是身兼数职。不仅要编写代码还要参与到算法的设计中去,甚至参与到动画原型的设计中去。所以弄清楚动画设计过程中的不同角色,以及搞清楚动画的分析过程是非常有必要的。
1 动画分析方法
下图是我们想要实现的动画效果,那么如何来分析它呢?其实产品设计师在设计动画时,如果能够将动画分解为单帧图像,或者能够较为慢速地展现动画的变化过程,那么对于算法分析师和程序员分析动画的原理,以及设计合适的展现算法起着非常重要的作用。下图描述了登录按钮从左到右逐渐移动的效果,并最后停留在视图层中间位置这一过程。
【图1】
这个动画效果非常简单,可以用一句话来描述其实现算法,即图像的水平方向位置坐标和时间呈线性渐变关系。接下来思考如何用代码实现这个效果。按照动画的展示过程,这里将动画分为:动画起始阶段、动画进行阶段和动画结束阶段。
1.动画起始阶段
在动画启动的瞬间,希望动画从屏幕可视界面外飞入进来。如下图所示的登录按钮是需要实现的动画起始位置。
【图2】
在iOS视图中,左上角为视图的原点(0,0),水平向右为x轴递增方向,竖直向下为y轴递增方向,只有当View视图位于手机屏幕展示坐标系之内,大家才能看到(虚线区域内控件不可见),否则登录按钮是不可见的。所以在动画的起始阶段可以将动画的位置属性设置在界面之外。
2.动画进行阶段
经过前面的分析,大家已经了解了这个动画效果的实现算法,即登录按钮的坐标沿水平方向随时间线性变化。如表1.1所示描述了不同时间段登录按钮的坐标变化情况。幸运的是大家不需要手动设计这一过程,甚至不需要手动写线性渐变的方法,因为iOS在UIView的显示层已经帮我们把这个功能集成了。iOS在UIView图层中不仅集成了动画的线性渐变方法,而且动画的加速、减速以及复杂的动画变化时间函数、运动路径函数也已经为大家集成好了,所以只需要学会如何使用这些丰富的API即可,且这个功能只需要几行代码就可以实现。
表1.1 6S下QQ图标移动效果:QQ图标x、y坐标随时间变化关系表
图片描述
3.动画结束阶段
在动画效果结束之后没有触发新的回调事件,只是更新了当前登录按钮的最后位置,所以图片最终停留在视图层的中间位置。
2 登录按钮移动动画效果:闭包形式
首先创建一个单视图工程,创建好之后可以看到下图的工程文件目录结构:
【图3】
动画实现的第一阶段:动画起始阶段
在开始正式添加动画代码之前需要为应用添加一个背景图片。在Main.storyboard中为整个工程添加一个已经准备好的背景图片,背景图片依托在UIImageView上。
【图4】
上图为当前工程的Main.storyboard中图层结构,其中View Controller为整个工程的视图控制器,login为UIImageView登录背景图片。下图示是准备好的背景图片,通过下图可以看出,要想实现最初所示的动画效果,只需为整个登录界面添加一个登录按钮即可。
阅读全文直接点击:
http://click.aliyun.com/m/9758/
分享到:
相关推荐
对于三次Bezier曲线,具体步骤如下: 1. **定义控制点**:首先,我们需要确定四个点P0, P1, P2, P3,它们依次为曲线的起始点、第一个控制点、第二个控制点和结束点。 2. **计算中间点**:对每一对相邻的控制点,取...
三维动画制作是一个复杂而细腻的过程,它涉及到多个步骤和技术领域,包括创意构思、艺术设计以及技术实施。以下是对三维动画制作基本流程的详细说明: 1. **编制脚本**:这是整个动画制作的第一步,也是最基础的...
教程中的"第3章 基础动画.ppt"可能包含创建基本补间动画的步骤,比如制作一个物体平滑移动的动画。首先,创建两个关键帧,然后在第一个关键帧放置起始位置的对象,第二个关键帧移动对象到目标位置。Flash会自动计算...
在这个特效中,`@keyframes`可能被用来定义舞蹈的各个步骤,如迈克尔杰克逊太空步的滑行、转身等动作。 例如: ```css @keyframes moonwalk { 0% { transform: translateX(0); } 50% { transform: translateX(-...
第三步:添加动画效果 为每条曲线分别添加两个动画效果:首先,添加“进入”动画,选择“渐变”效果,设置启动方式为“之前”,速度为“0.1”秒,让曲线缓缓出现;然后,添加“退出”动画,选择“消失”效果,同样...
本教程将详细解释如何通过简单的三步操作来实现这种效果。 首先,我们要了解什么是神奇移动。神奇移动是指对象在屏幕上沿着预定路径移动,同时在视觉上产生瞬间消失和再现的效果。这种动画效果通常用于引导观众的...
在易语言中,实现弹簧动画涉及以下几个步骤: 1. **定义变量**:我们需要定义几个变量来存储弹簧的状态,如当前长度、目标长度、弹簧系数等。同时,还需要定义时间步长,以控制动画的更新频率。 2. **计算力**:...
5. **形变处理**:在每个时间步,根据顶点的新位置和连接它们的边的弹性特性,计算出物体的形变。这通常涉及三角形的拉伸和弯曲。 6. **渲染更新**:最后,将形变后的几何数据提交给Direct3D进行渲染,生成动态的...
第三步,利用“动作路径”组中的“自定义路径”功能绘制树叶的飘落轨迹。这一步非常关键,因为路径应超出画布边缘,让树叶看起来是从上方飘落下来。绘制好路径后,再次调整相关参数,如速度和路径曲线的平滑度,以...
在开始制作动画之前,我们首先需要一个相册的外包装,这是吸引观众注意的第一步。在Adobe Photoshop中,我们可以通过创建一个透明背景的新文件来开始我们的设计。接下来,使用矩形选框工具我们可以设计一个外包装的...
单步动画宏是一种高级工具,它允许用户自定义动画的每一个步骤,实现更加精细的控制。 **15.5 离线捕捉动画显示图形序列** 离线捕捉功能可以让用户在后台捕捉动画帧,避免占用过多的实时计算资源。 **15.6 独立的...
在编程实现四叶玫瑰曲线动画的过程中,关键步骤包括: 1. **设置参数**:确定 \( a \) 和 \( k \) 的值,以及动画的帧率和总帧数。 2. **计算极坐标**:根据参数方程计算每个时间步 \( t \) 对应的 \( r \) 和 \( \...
在实现文字路径动画时,我们需要做以下几步: 1. **创建SVG路径**:首先,我们需要在HTML中定义一个SVG元素,并创建一个`<path>`元素来描绘我们想要文字遵循的路径。路径由一系列的指令组成,如`M`(移动到)、`L`...
3. **无缝集成**:与XCharts配合使用时,只需简单几步操作,即可让图表的生成和更新伴随着流畅的动画。 总结来说,XCharts和其配套的动画系统为Unity开发者提供了一套完整的解决方案,无论是数据展示还是交互体验,...
本泽尔曲线是一种在计算机图形学中广泛应用的数学曲线,特别是在二维和三维图形的绘制与动画制作中。它由法国工程师Paul de Casteljau在1959年提出,因其简单、灵活且易于计算的特性,成为了计算几何中的一个基础...
1. **建立运动分析场景**:这是第一步,需要创建一个运动场景来装载运动模型。 2. **构建运动模型**:包括设置每个零件的连杆特性、定义运动副以及添加机构载荷。 3. **设置运动参数**:确定运动仿真所需的参数,如...
动画演示可能包括以下几个步骤: 1. **初始化参数**:设置卫星和地球的属性,如质量和位置。 2. **定义时间范围**:确定模拟的起止时间和时间步长。 3. **计算轨道**:使用上述轨道参数和`ode45`求解卫星的位置和...
2. 三维动画制作流程:制作三维动画通常包括五个步骤:建模(创建模型)、材质贴图(赋予模型表面质感和颜色)、骨骼绑定(定义模型的运动机制)、动作(通过关键帧或物理引擎驱动模型运动)以及合成(将所有元素...
2. **线性插值**:对于每个时间步t,计算中间点B0(t) = (1-t)*P0 + t*P1,B1(t) = (1-t)*P1 + t*P2,B2(t) = (1-t)*P2 + t*P3。 3. **递归**:如果曲线是二次的(即只有三个控制点),则可以直接返回B0(t), B1(t)...