动画

7款超酷HTML5 3D动画精选应用及源码

谁都会走 提交于 2020-01-21 08:38:41
对以前来讲,3D动画拿到网页上展示是一件非常奢侈的事情,第一是浏览器不够先进,第二是大部分只能用flash实现伪3D。HTML5的出现,让实现网页3D动画变得非常简单,当然前提是你不要再使用像IE678之类的浏览器了。下面精选的几款HTML5 3D动画,希望你会喜欢。 1、HTML5 SVG 3D空间模型 可拖拽缩放 这是一个基于HTML5和SVG的3D空间模型,这个3D模型提供了x、y、z三个坐标轴以及一个平面网格。我们可以对这个HTML5 3D模型进行缩放、拖拽、翻转等操作,这些操作可以通过鼠标,也可以通过快捷键,非常方便。 在线演示 源码下载 2、HTML5 3D立体图片相册 HTML5非常强大,尤其是和CSS3结合,有时候能达到非同凡响的网页动画效果。今天要分享的这款HTML5应用就是一款很酷的3D立体图片相册应用,它可以用鼠标多拽从多个角度浏览相册图片,点击图片,就可以放大图片,相册图片都是美女,千万别让女朋友看到。 在线演示 源码下载 3、基于HTML5的SVG动画折线图表 线颜色渐变 今天给大家带来一款HTML5图表应用,图表是基于SVG结构的折线图。遗憾的是这款HTML5图表不可以自定义数据点,但是有一个特点是折线的颜色是渐变的,并且在图表数据初始化的时候,折线显示是带有动画特效的。 在线演示 源码下载 4、HTML5 TweenMax

动画封装代码

╄→尐↘猪︶ㄣ 提交于 2020-01-21 05:40:31
1.匀速动画封装 //animate封装 function animate(ele,target){ clearInterval(ele.timer); var speed=target>ele.offsetLeft?10:-10; ele.timer=setInterval(function(){ var val=target-ele.offsetLeft ele.style.left=ele.offsetLeft+speed+"px"; if(Math.abs(val)<Math.abs(speed)){ ele.style.left=target+"px"; clearInterval(ele.timer); } },30); } 2.缓慢动画封装 //缓动动画封装 function animate(ele,target){ clearInterval(ele.timer); ele.timer=setInterval(function(){ var step=(target-ele.offsetTop)/10; step=step>0?Math.ceil(step):Math.floor(step); ele.style.top=ele.offsetTop+step+"px"; if(Math.abs(target-ele.offsetTop)<=Math.abs(step

CSS 动画(CSS3) animation

…衆ロ難τιáo~ 提交于 2020-01-20 16:38:47
动画是CSS3中具有颠覆性的特征之一,可通过设置多个节点来精确控制一个或一组动画,常用来实现复杂的动画效果。 语法格式: animation:动画名称 动画时间 运动曲线 何时开始 播放次数 是否反方向; 关于几个值,除了名字,动画时间,延时有严格顺序要求其它随意r @keyframes 动画名称 { from{ 开始位置 } 0% to{ 结束 } 100% } animation-iteration-count:infinite; 无限循环播放 animation-play-state:paused; 暂停动画" 小汽车案例 body { background: white; } img { width: 200px; } .animation { animation-name: goback; animation-duration: 5s; animation-timing-function: ease; animation-iteration-count: infinite; } @keyframes goback { 0%{} 49%{ transform: translateX(1000px); } 55%{ transform: translateX(1000px) rotateY(180deg); } 95%{ transform: translateX(0)

07-CSS3动画

一世执手 提交于 2020-01-20 13:51:44
animation animation-name(动画名称) animation-name: keyfamename | none; //检索或设置对象所应用的动画名称 animation-duration(动画持续时间) animation-duration: time; //检索或设置对象动画的持续时间 animation-timing-function ( 动画的过渡类型) annimation-timing-function: ease | linear | ease-in | ease-out | ease-in-out | step-start | step-end | …;  //设置动画过渡类型 // ease:平滑过渡。等同于贝塞尔曲线(0.0,0.0,1.0,1.0)默认值 // linear:线性过渡。等同于贝塞尔曲线(0.25,0.1,0.25,1.0) // ease-in:由慢到快。等同于贝塞尔曲线(0.42,0,1.0,1.0) // ease-out:由快到慢。等同于贝塞尔曲线(0,0,0.58,1.0) //ease-in-out:由慢到快再到慢。等同于贝塞尔曲线(0.42,0,0.58,1.0) //step-start:等同于steps(1,start) //step-end:等同于steps(1,end) //steps(<integer>

使用 canvas 实现精灵动画

天涯浪子 提交于 2020-01-20 13:38:12
文章首发于个人博客: http://heavenru.com 在最近项目中需要实现一个精灵动画,素材方只提供了一个短视频素材,所以在实现精灵动画之前先介绍两个工具来帮助我们更好的实现需求。在这篇文章中,主要是介绍两个命令行工具来实现将一个短视频文件转化成一张 sprite 图片与如何使用 canvas 绘制精灵动画 两个工具官方地址如下: ffmpeg montage 1、ffmpeg 视频转图片工具 ffmpeg 是「一个完整的跨平台解决方案,用于记录,转换和流式传输音频和视频的工具」,它的作用原不止于这篇文章中所介绍的,有兴趣的同学可以自己去官方网站了解更多。 将视频转成图片输出 基本用法 ./ffmpeg -i jellyfish.mp4 -vf scale=138:-1 -r 8 %04d.png -i 视频流输入 URL -vf 创建由过滤器指定的过滤器,并使用它过滤流,过滤器是要应用于流的过滤器的描述,并且必须具有相同类型流的单个输入和单个输出。对应的过滤器参数必须跟在这个之后,不然无法生效 scale 视频缩放, scale=width:height 其中,如果 height=-1 ,则表示自适应高度,按照视频的宽高比输出,后面紧接这 scale=width:height,setar=16:9 则可以指定输出宽高比 -r 视频输出 fps 值, 值越大,则以越高的

StarWink UV顶点动画制作详解

谁都会走 提交于 2020-01-20 07:58:07
StarWink UV顶点动画制作详解 我们先来看最终效果 实现原理: 1.利用算法得到圆形差值的UV坐标(中间为0)去采样纹理,得到圆形扩散的循环纹理动画。 2.利用算法得到循环的圆形扩散遮罩,并作为顶点偏移遮罩控制顶点动画。 3.模型顶点UV做了同一块模型上的UV顶点坐标一致性的处理,使得同一块模型上的所有点偏移量一致。 此次制作使用ASE来做算法说明(代码不直观)。 算法实现: 1. 利用UV的取值范围映射到指定的取值范围,并求模(Remap和Length) 第一个算法是Remap方法: 将某个区间的取值范围([Min Old, Max Old])映射到指定区间范围([Min New, Max New])。 算法为:如要将Val从[a, b]映射到[A, B],则公式为 Val = A + Val * (B - A) / (b - a) 第二个算法是length方法,意思是求取向量模长。公式:Sqrt ( Dot ( Iput, Iput ) )。此处将 [-1, 1]的取值范围的二维坐标取模,因为中间点(0, 0)的模长为0,边界处模长为1,所以得到一个[0, 1]灰度渐变的圆(这里的渐变为线性的)。 2. 两向量间的距离,(Distance) 当B向量Time Speed = 0时,Distance如下图所示。 公式:Sqrt (dot ( ( B-A ), ( B-A

DOTween --缓动动画枚举

本小妞迷上赌 提交于 2020-01-19 22:28:38
DoTween的缓动动画曲线与效果网址: http://robertpenner.com/easing/easing_demo.html 缓动动画速查表网址: http://www.xuanfengge.com/easeing/easeing/ 来源: CSDN 作者: .木木啊 链接: https://blog.csdn.net/qq_38093657/article/details/104044919

Scroller原理

旧城冷巷雨未停 提交于 2020-01-19 12:13:17
Scroller原理 Scroller执行流程里面的三个核心方法 mScroller.startScroll() mScroller.computeScrollOffset() view.computeScroll() 1、在mScroller.startScroll()中为滑动做了一些初始化准备,比如:起始坐标,滑动的距离和方向以及持续时间(有默认值),动画开始时间等。 2、mScroller.computeScrollOffset()方法主要是根据当前已经消逝的时间来计算当前的坐标点。因为在mScroller.startScroll()中设置了动画时间,那么在computeScrollOffset()方法中依据已经消逝的时间就很容易得到当前时刻应该所处的位置并将其保存在变量mCurrX和mCurrY中。除此之外该方法还可判断动画是否已经结束。 来源: CSDN 作者: 行知天下 链接: https://blog.csdn.net/qq_27248989/article/details/103925706

动画学习 iOS

狂风中的少年 提交于 2020-01-19 10:21:00
CABasicAnimation——基本动画 CABasicAnimation *moveAnimation = [CABasicAnimation animationWithKeyPath:@"position.y"]; moveAnimation.duration = 0.8;//动画时间 //动画起始值和终止值的设置 moveAnimation.fromValue = @(imageView.center.x); moveAnimation.toValue = @(imageView.center.x-30); //一个时间函数,表示它以怎么样的时间运行 moveAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]; //按次数看什么时候结束 moveAnimation.repeatCount = 5; //按时间看什么时候结束 moveAnimation.repeatDuration = 2; moveAnimation.removedOnCompletion = YES; moveAnimation.fillMode = kCAFillModeForwards; //添加动画,后面有可以拿到这个动画的标识 [imageView