动画

iOS动画详解(学习动画看这一篇就够了)

£可爱£侵袭症+ 提交于 2020-04-07 06:41:58
原文出处: wu大维 动效设计一直是iOS平台的优势,良好的动效设计可以很好地提升用户体验。而动画则是动效的基础支撑。本动画将从易到难逐步分析,从CABasicAnimation,UIBezierPath,CAShapeLayer三个方面完整的阐述iOS动画的实现。最终的效果如下: 例子来源与网络,不是我写的,我只是加上了详细的注释,方便大家理解(我只是代码的搬运工...)。这个例子是CABasicAnimation,UIBezierPath,CAShapeLayer的综合实现,如果能完全理解这个例子,相信其它的iOS动画也难不倒你了。 demo下载地址 CABasicAnimation 一、概念 这个部分你需要了解以下概念: CALayer、CAAnimation、CAAnimationGroup 1、CALayer CALayer是个与UIView很类似的概念,同样有backgroundColor、frame等相似的属性,我们可以将UIView看做一种特殊的CALayer。但实际上UIView是对CALayer封装,在CALayer的基础上再添加交互功能。UIView的显示必须依赖于CALayer。我们同样可以跟新建view一样新建一个layer,然后添加到某个已有的layer上,同样可以对layer调整大小、位置、透明度等。一般来说,layer可以有两种用途

css动画 简单的记录

三世轮回 提交于 2020-04-07 01:25:57
1.transiton 指定状态变化所需要的时间 .div{width:20px; transtion:2s} .div:hover{width:200px;} 鼠标经过可以看到,2秒内 宽度变成200px 可以指定特定属性有这个样式 img{width:20px;height:20px; transition:1s height} img:hover{height:200px;} 高度在1秒内过度改变。 transition有四个属性 transition-property:应用过渡的 CSS 属性的名称。 transiton-duration:应用维持的时间 transition-delay:效果何时开始 transition-timing-function :规定效果的运动曲线 transition的使用注意 (1)目前,各大浏览器(包括IE 10)都已经支持无前缀的transition,所以transition已经可以很安全地不加浏览器前缀。 (2)不是所有的CSS属性都支持transition,完整的列表查看 这里 ,以及具体的 效果 。 (3)transition需要明确知道,开始状态和结束状态的具体数值,才能计算出中间状态。比如,height从0px变化到100px,transition可以算出中间状态。但是,transition没法算出0px到auto的中间状态

three.js 3D 动画场景

廉价感情. 提交于 2020-04-06 17:46:20
Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象。使用它它能让 WebGL 变得更加简单。 下面用Three.js渲染一个物体360旋转也是一个很基础的入门学习挺不错的。 WebGL可以完美地通过 HTML脚本 本身实现Web交互式三维动画的制作,无需任何 浏览器插件 支持,它利用底层的图形 硬件加速 功能进行的图形渲染。 其实在3D世界只有三种运动方式:移动、旋转、放大缩小。下面将展示3d旋转效果: 代码: 来源: https://www.cnblogs.com/yscode/p/8941447.html

css 动画 transition和animation

喜欢而已 提交于 2020-04-06 17:34:48
本文参考: http://www.ruanyifeng.com/blog/2014/02/css_transition_and_animation.html 1. transition基本用法:    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> body, html { height: 100%; width: 100%; padding: 0; margin: 0; } img { width: 50px; height: 50px; display: block; margin: auto; transition: 1s; //如果不使用 transition 鼠标移到img 上面时是马上变化的,加上这个属性,变化就会持续一秒的过程 } img:hover { width: 500px; height: 500px; } </style> </head> <body> <img src="./o_200404110308weixin_20191025171935.jpg" alt=""

《Flutter 动画系列》组合动画

北战南征 提交于 2020-04-06 13:01:02
老孟导读:在前面的文章中介绍了 《Flutter 动画系列》25种动画组件超全总结 http://laomengit.com/flutter/module/animated_1/ 《Flutter 动画系列》Google工程师带你选择Flutter动画控件: http://laomengit.com/flutter/module/animated_choose/ 在项目中动画效果很多时候是几种动画的组合,比如颜色、大小、位移等属性同时变化或者顺序变化,这篇文章讲解如何实现组合动画 Flutter中组合动画使用 Interval , Interval 继承自 Curve ,用法如下: Animation _sizeAnimation = Tween(begin: 100.0, end: 300.0).animate(CurvedAnimation( parent: _animationController, curve: Interval(0.5, 1.0))); 表示 _sizeAnimation 动画从0.5(一半)开始到结束,如果动画时长为6秒, _sizeAnimation 则从第3秒开始。 Interval 中 begin 和 end 参数值的范围是0.0到1.0。 下面实现一个先执行颜色变化,在执行大小变化,代码如下: class AnimationDemo

Vue.js动画在项目使用的两个示例

廉价感情. 提交于 2020-04-06 01:11:19
欢迎大家关注 腾讯云技术社区-博客园官方主页 ,我们将持续在博客园为大家推荐技术精品文章哦~ 李萌,16年毕业,Web前端开发从业者,目前就职于腾讯,喜欢node.js、vue.js等技术,热爱新技术,热爱编程。 vue.js 的文档对于动画的使用做了很多的介绍,不熟悉的小伙伴可以先 了解一下 。 下面就进入正题啦! 第一个动画示例: 这其实是一个很常见的弹出层效果,鼠标点击按钮切换弹出层的显示,点击其他区域弹出层消失,用javascript绑定事件可能几行代码就搞定了,但是 vue.js 的状态驱动模式和javascript的事件驱动模式是不同的,下面是使用 vue.js 的实现方式: 鼠标点击button会切换一个布尔值show,用show来控制弹出层的显示,而包裹着 <transition> 标签的弹出层在show的状态改变时就会触发动画,下面就可以用css3写一个弹出层的动画: 关于不同的过渡状态对应的css声明,官网上是这样解释的: v-enter : 定义进入过渡的开始状态。在元素被插入时生效,在下一个帧移除。 v-enter-active : 定义进入过渡的结束状态。在元素被插入时生效,在 transition/animation 完成之后移除。 v-leave : 定义离开过渡的开始状态。在离开过渡被触发时生效,在下一个帧移除。 v-leave-active :

PPT一次性禁用所有动画效果

拥有回忆 提交于 2020-04-05 16:56:44
PPT中的动画是个好东西,但是动画搞多了,难免显得花里胡哨不严肃,禁用PPT模板中的一切动画操作如下: 1、在【幻灯片放映】选项卡中,点击【设置幻灯片放映】 2、勾选【放映时不加动画】,然后【确定】 来源: https://www.cnblogs.com/lzhu/p/12636830.html

iOS开发UI篇—核心动画简介

断了今生、忘了曾经 提交于 2020-04-04 21:03:00
一、简单介绍 Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍。也就是说,使用少量的代码就可以实现非常强大的功能。 Core Animation是跨平台的,可以用在Mac OS X和iOS平台。 Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程。不阻塞主线程,可以理解为在执行动画的时候还能点击(按钮)。 要注意的是,Core Animation是直接作用在CALayer上的,并非UIView。 二、Core Animation的使用步骤 1.使用它需要先添加QuartzCore.framework框架和引入主头文件<QuartzCore/QuartzCore.h>(iOS7不需要) 2.初始化一个CAAnimation对象,并设置一些动画相关属性 3.通过调用CALayer的addAnimation:forKey:方法增加CAAnimation对象到CALayer中,这样就能开始执行动画了 4.通过调用CALayer的removeAnimationForKey:方法可以停止CALayer中的动画 三、CAAnimation 类的继承结构图    CAAnimation是所有动画类的父类,但是它不能直接使用,应该使用它的子类。 常见属性有: duration:动画的持续时间

iOS开发UI篇—核心动画简介

纵然是瞬间 提交于 2020-04-04 21:02:00
一、简单介绍 Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍。也就是说,使用少量的代码就可以实现非常强大的功能。 Core Animation是跨平台的,可以用在Mac OS X和iOS平台。 Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程。不阻塞主线程,可以理解为在执行动画的时候还能点击(按钮)。 要注意的是,Core Animation是直接作用在CALayer上的,并非UIView。 二、Core Animation的使用步骤 1.使用它需要先添加QuartzCore.framework框架和引入主头文件<QuartzCore/QuartzCore.h>(iOS7不需要) 2.初始化一个CAAnimation对象,并设置一些动画相关属性 3.通过调用CALayer的addAnimation:forKey:方法增加CAAnimation对象到CALayer中,这样就能开始执行动画了 4.通过调用CALayer的removeAnimationForKey:方法可以停止CALayer中的动画 三、CAAnimation 类的继承结构图    CAAnimation是所有动画类的父类,但是它不能直接使用,应该使用它的子类。 常见属性有: duration:动画的持续时间

iOS开发UI篇—核心动画简介

时光总嘲笑我的痴心妄想 提交于 2020-04-04 20:52:26
iOS开发UI篇—核心动画简介 一、简单介绍 Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍。也就是说,使用少量的代码就可以实现非常强大的功能。 Core Animation是跨平台的,可以用在Mac OS X和iOS平台。 Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程。不阻塞主线程,可以理解为在执行动画的时候还能点击(按钮)。 要注意的是,Core Animation是直接作用在CALayer上的,并非UIView。 二、Core Animation的使用步骤 1.使用它需要先添加QuartzCore.framework框架和引入主头文件<QuartzCore/QuartzCore.h>(iOS7不需要) 2.初始化一个CAAnimation对象,并设置一些动画相关属性 3.通过调用CALayer的addAnimation:forKey:方法增加CAAnimation对象到CALayer中,这样就能开始执行动画了 4.通过调用CALayer的removeAnimationForKey:方法可以停止CALayer中的动画 三、CAAnimation 类的继承结构图    CAAnimation是所有动画类的父类,但是它不能直接使用,应该使用它的子类。 常见属性有: