动画类型和时间指南(动画类结构图)

Core Animation 提供了一套非常科学的动画类,我们能够在程序中使用。

  • CAAnimation 是所以动画类的虚基类。它遵循CAMediaTiming 协议,CAMediaTiming 协议为动画提供了简单的持续时间(duration)、数度(speed)、重复次数(repeat count)。CAAnimation 还遵循了CAAction 协议,这个协议提供了标准化的定义在响应层(layer)触发动作时开启动画。
  • CAAnimation 也定义了动画计时作为CAMediaTimingFunction的实例。这个计时方法描述了动画的每一步就像简单的贝塞尔曲线。一个线性时间函数指定了动画持续时间内的步速,然而一个 ease-in 时间函数会在动画接近结束是加速。
  • CAPropertyAnimation 是CAAnimation的子类也是虚类,它为层(layer)上定义了键值路径的属性提供动画。
  • CABaseicAnimation 是CAPropertyAnimation的子类,他为层(layer)属性提供简单的插值
  • CAKeyframeAnimation(CAPropertyAnimation的子类)提供帧动画。你可以定义层属性的关键路径进行动画,指定一个数组包含动画各个阶段的值,还有包含关键帧的时间数组和时间函数。当动画执行的时候,集合中的值依次按照指定的插值进行设置。
  • CATransition 提供过渡效果,会影响整个层上的内容。在动画过程中的逐渐消失(fade)、推进(push)、重新显示层内容。在 OS X上,你可以通过自定义Core Image filters 在扩展过渡效果。
  • CAAnimationGroup 能够将一组动画组合在一起同时执行。

Figure 1  Core Animation classes and protocol

时间: 2024-10-12 04:48:33

动画类型和时间指南(动画类结构图)的相关文章

深入css3帧动画实现ps时间轴动画效果steps()(前端网备份)

在应用 CSS3 渐变/动画时,有个控制时间的属性 <timing-function> .它的取值中除了常用到的 三次贝塞尔曲线 以外,还有个让人比较困惑的 steps() 函数. steps() 第一个参数 number 为指定的间隔数(必须是正整数),即把动画分为 n 步阶段性展示,第二个参数默认为 end,设置最后一步的状态,start 为结束时的状态,end 为开始时的状态. <!DOCTYPE html> <html> <head> <met

Toast拓展--自定义显示时间和动画

Toast拓展–自定义显示时间和动画 我们在Android应用开发中经常会需要在界面上弹出一个对界面操作无影响的小提示框来提示用户一些信息,这时候一般都会使用Android原生的Toast类 Toast.makeText(mContext, "消息内容", Toast.LENGTH_SHORT).show(); 一开始觉得,挺好用的,就有点什么消息都用Toast显示了. 但是用久了就发现,Toast的显示和消失动画不符合自己的要求,显示时间也只有SHORT和LONG两种选择,好像不太够

android 动画类型

1.Animation 动画类型 Android的animation由四种类型组成: XML中 alph 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动画效果 JavaCode中 AlphaAnimation 渐变透明度动画效果 ScaleAnimation 渐变尺寸伸缩动画效果 TranslateAnimation 画面转换位置移动动画效果 RotateAnimation 画面转移旋转动画效果  2.Androi

前端能力模型-动画类型及动画库的介绍

一.背景: 合适的动画不仅更能吸引人们的眼球,也能让你的应用体验更为流畅,而将动画的效果做到极致,才能让用户感到使用你的应用是一种享受,而不是觉得生硬和枯燥. 二.动画技术分类: 按技术类型来进行分类,分为三类:JS动画,CSS3动画,html5动画,接下来分别对三类动画进行讲解. 1)JS动画 通过一个定时器setInterval间隔来改变元素样式,动画结束时clearInterval即可.(早期类库:jquery.prototype.mootools) 优缺点: 优点:可控性很强,兼容性较好

JavaScript基于时间的动画算法

转自:https://segmentfault.com/a/1190000002416071 前言 前段时间无聊或有聊地做了几个移动端的HTML5游戏.放在不同的移动端平台上进行测试后有了诡异的发现,有些手机的动画会“快”一点,有些手机的动画会“慢”一点,有些慢得还不是一两点. 通过查找资料发现,基于帧的算法(Frame-based)来实现动画会导致不同帧率的平台体验不一致,而基于时间(Time-based)的动画算法可以很好地改良这种情况,让不同帧率的情况下都能达到较为统一的速度上的体验. 本

iOS开发之动画中的时间

概述 在动画中,我们会指定动画的持续时间.例如 scaleAnimation.duration = self.config.appearDuration 那么这个时间是怎么定义的呢?是指的绝对时间吗? 层级时间结构 layer在屏幕上的显示位置是根据父layer的位置以及本身相对于父layer偏移定义的. 与此类似,每一个layer都有自己的time space,计算本地时间(local time)时候,需要根据父layer的时间以及一定的转换规则来计算出本地时间. 这个规则就是CAMediaT

UI - Animation 动画类型

1 动画类型: 2 3 ** type 4 * 5 * 各种动画效果 其中除了'fade', `moveIn', `push' , `reveal' ,其他属于私有的API. 6 * ↑↑↑上面四个可以分别使用'kCATransitionFade', 'kCATransitionMoveIn', 'kCATransitionPush', 'kCATransitionReveal'来调用. 7 * @"cube" 立方体翻滚效果 8 * @"moveIn" 新视图移到

layaAir引擎制作游戏的图集动画、时间轴动画、和骨骼动画总结二

一.角色序列帧.ani动画的制作 1.在项目管理器中创建动画文件 2.创建动画模板,编辑动效名称 3.编辑序列帧动画 .ani格式动画的代码控制 1.动画加载loadAnmition() 2.播放与停止.动效模板切换 3.动画帧位置控制 4.动画播放完成事件 uui截图: Laya.init(1334, 750); Laya.loader.load(["res/comp.atlas","res/role.atlas"],Laya.Handler.create(thi

万彩动画大师丨时间轴竖向滚动条

万彩动画大师的时间轴竖向滚动条可以向你展示现在进行到哪个元素动画和哪个镜头,以便让您更清晰明了地知道动画视频播放的进度. 当[预览]动画视频时,万彩动画大师的[时间轴区域]会有一个[竖向滚动条]表示进度,当预览暂停或者结束后,可以在时间轴区域里任意移动时间轴竖向滚动条.如下图竖向滚动条界面所示: 原文地址:https://www.cnblogs.com/focusky/p/10209690.html