用Android属性动画实现和演示迪士尼动画基本原则
本文将介绍在Android平台上实现和演示迪士尼动画基本准则。
项目开源,GitHub: https://github.com/vhow/animation
说明:
- 演示动画原则的想法源自 Animation Principles for the Web
- 本项目所有的动画都是通过 Android属性动画 APIs 编写。
夸张手法
很多时候,动画需要模拟现实世界中物理的真实动画。但一味拘泥于现实,不免枯燥和乏味。因此,动画的撰写可以大胆夸张,夺人眼目。

跟随和覆盖行为
现实物体会受惯性作用,要模拟现实,就要考虑惯性。《猫和老鼠》等动画中常使用此技巧,以人物奔跑为例:
- 开始奔跑
- 逐渐加速
- 奔跑中身体后倾
- 逐步减速 (受惯性作用)
- 停止,身体归正

预备动作
现实世界中,物体在行动前都有预期行为。例如:
- 小猫在上跳前会下蹲
- 狮子在发起攻击前会俯身蓄力
在编写动画代码时,也可以加入这些预备动作——预告接下来的行为,让用户产生预期。

挤压和拉伸
物体存在重量,也由不同材质组成。在运动过程中会发生挤压和拉伸。《猫和老鼠》中,猫撞墙时会发生扁平形变,就是应用了此准则。

突出显示
舞台上,领舞一般都被突出出来,向前走一步,或者穿着不同的衣服。动画亦是如此,需要突出强调关键元素以吸引用户的注意力。

接续动作与关键动作
开发动画之前,目标对象从初始位置过渡到终止位置,需要事前想好关键位置,也就是所谓的关键帧。这些关键帧定义好之后,动画就可以持续从一个关键帧过渡到另一个关键帧。

缓入缓出
真实世界中,物体从静止→运动,是一个逐渐加速的过程。从运动→静止是一个逐渐减速的过程。动画需要利用贝塞尔曲线,模拟这种状态切换过程。

弧线运动
有生命力的事物,例如老鹰,其移动轨迹往往是曲线,而非直线。动画也要模拟这种弧线运动轨迹,以切近现实。


时间节奏
时间和节奏是动画的灵魂。两个物体,哪怕初始状态、终止状态完全一样,只要节奏不同,其运动效果也会千差万别。

用Android属性动画实现和演示迪士尼动画基本原则的更多相关文章
- html迪士尼网页实现代码
html body> <div> <!-- 导航设置 --> <header> <nav ...
- 用HTML编写迪士尼乐园页面
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/html"><head lang="e ...
- 杂项-公司-百科:华特·迪士尼-un
ylbtech-杂项-公司-百科:华特·迪士尼 华特·迪士尼(Walt Disney,全名Walter Elias Disney,又译沃尔特·迪士尼,1901年12月5日—1966年12月15日),出 ...
- 迪士尼黑科技:爬墙机器人 VertiGo
12 月 30 日,迪士尼研发出的一款爬墙机器人曝光了一段有趣的视频.从视频里可看出这个机器人碰到墙壁时迅速地作出反应爬了上去. 据了解,这个爬墙机器人名叫 VertiGo,由迪士尼研究中心和苏黎世联 ...
- HK游记 Day2迪斯尼(下)
接下来我们要去看狮子王庆典,绕啊绕啊,终于进场了,说实话我对一大帮人扮演动物歌舞表演不是很感冒,静倒是觉得很好看,印象最深的是狮子王的主题曲,还有大象车,长颈鹿车,狮子王车,静举着手机拍视频. 看完表 ...
- Android属性动画完全解析(下)
转载:http://blog.csdn.net/guolin_blog/article/details/44171115 大家好,欢迎继续回到Android属性动画完全解析.在上一篇文章当中我们学习了 ...
- Android属性动画完全解析(上)
Android属性动画完全解析(上) 转载:http://blog.csdn.net/guolin_blog/article/details/43536355 在手机上去实现一些动画效果算是件比较炫酷 ...
- Android 属性动画(二)
当然了属性动画还有一部分的知识点,也能做出很不错的效果,将在本篇博客为您展示~ 1.如何使用xml文件来创建属性动画 大家肯定都清楚,View Animator .Drawable Animator都 ...
- Android 属性动画(Property Animation) 全然解析 (下)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38092093 上一篇Android 属性动画(Property Animatio ...
随机推荐
- 久未更 ~ 三之 —— CardView简单记录
> > > > > 久未更 系列一:CardView 点击涟漪效果实现 //在 cardview 中 实现点击涟漪效果 android:clickable="t ...
- TF-IDF_MapReduceJava代码实现思路
TF-IDF 1. 概念 2. 原理 3. java代码实现思路 数据集: 三个MapReduce 第一个MapReduce:(利用ik分词器,将一篇博文,也就是一条记录 ...
- Dedecms列表页标签list/pagelist使用方法及pagelist的样式
Dede的默认页面中有个list_article.htm页面,这是dede的列表页面.在列表页显示文章的列表,是通过dede的list和pagelist这两个个标签实现的.本文就这两个标签的使用及pa ...
- linux下yum命令出现Loaded plugins: fastestmirror
yum install的时候提示:Loaded plugins: fastestmirror fastestmirror是yum的一个加速插件,这里是插件提示信息是插件不能用了. 不能用就先别用呗,禁 ...
- dedecms标签大全
今天用了1个小时的时间整理了dedecms标签大全,非常经典,非常经典的织梦dedecms标签,希望对大家制作dedecms网站有帮助 channel_____栏目 dede_arcty ...
- Java数据持久层框架 MyBatis之API学习七(动态 SQL详解)
对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...
- Log4j扩展使用--日志记录器Logger
OK,现在我们认真的研究下Logger的配置,进行相关配置扩展. Log4j有三个主要的组件:Loggers(记录器),Appenders(输出源)和Layouts(布局).其中,Logger负责记录 ...
- android dialog弹出的情况下监听返回键
view = LayoutInflater.from(getActivity()).inflate( R.layout.dialog_tips, null); title2 = (TextView) ...
- weex 启动 ios 模拟器
前提需要的安装 node npm weex-toolkit cocoaPods 1. 创建weex工程 weex create helloWolrd 2. 进入helloWolrd文件夹安装依赖,我用 ...
- java IO(五):字节流、字符流的选择规律
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...