首页
学习
活动
专区
圈层
工具
发布

HTML多行代码搞定微信8.0的炸裂特效!CC++怎么能输「建议收藏」

当鼠标划过表情时,开始播放动画。 当鼠标划出表情时,停止动画。...设置表情动画的宽高为 40px。 使用 lottie 加载动画,并设置循环播放为 false,自动播放为 true,来让表情发送时自动播放动画,且只播放一次。...explosionAnimeEle.remove(); }); } playExplosion() 函数接收一个 anchor 锚点,就是说基于哪个位置开始播放全屏动画,由于示例中的动画画幅比较小,...加载 lottie 动画,不循环、自动播放。 由于原动画速度过快,这里调用 lottie 实例的 setSpeed() 方法,把速度设置为 0.3 倍速。...要注意的是,在添加 shake class执行动画前,需要先删除 shake,因为有的消息可能在之前已经晃动过了,例如当连续发了多个炸弹表情时。

2.8K20

从 “卡顿” 到 “秒开”:外投首屏性能优化的 6 个实战锦囊|得物技术

对投放的广告页面而言,如何在保证视觉效果和功能的同时提升加载速度,成为了开发者必须面对的挑战。...二、难点 & 收益首屏秒开率口径严格首屏秒开率通常指用户从触发页面加载(如点击广告链接)开始,到首屏内容完全渲染完成,并可进行交互所花费的时间在 1 秒以内的比例。...可以看下面对比图:同样一个动画播放, apng 需要将近2M多,但是lottie需要的资源仅仅需要几百k,资源体积下降十分明显。...优化前优化后针对lottie动画SSR场景下没法直出dom的情况,新增lottie动画预渲染骨架。...动画降级方案目前外投播放apng 动画的流程涉及到如:一个apng的动画的播放生命周期,涉及到资源拉取时间 + 解析apng 的时间,但是这对于性能较差的低端机来说,可能是在灾难。

56310
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    说lottie谁是lottie?

    Lottie 简介 Lottie 是 airbnb 开源的动画库,支持多个平台如 Android、iOS、Web、React Native 和 Windows。其提供从 AE 到各终端的完整工具流程。...lottie实现的动画效果: jcode lottie-web lottie-web 支持多种特性,提供复杂的动画控制和监听功能。...: true, path: 'https://linwu-hi.github.io/lottie/animation_ll2ddfyg.json' }); jcode 控制动画播放的方法: 名称 描述...animation.play 播放该动画,从目前停止的帧开始播放 stop 停止播放该动画,回到第 0 帧 pause 暂停该动画,在当前帧停止并保持 goToAndStop animation.goToAndStop...方法也会触发 DOMLoaded 动画相关的 dom 已经被添加到 html 后触发 destroy 将在动画删除时触发 Lottie 动画性能 对比 Lottie 和 Gif 动画,数据显示

    1K20

    大杀器Bodymovin和Lottie:把AE动画转换成HTML5AndroidiOS原生动画

    Airbnb出了移动端的动画库Lottie,可以和一个名叫Bodymovin的AE插件结合起来,把在AE上做好的动画导出为json文件,然后以Android/iOS原生动画的形式在移动设备上渲染播放。...这个AE插件可以把AE上做好的合成(Composition,类似于Pr里的剪辑序列)导出成带有矢量动画信息的json文件,并可以在以下平台播放: Web页面,以svg/canvas/html+js的形式...下面就分步骤总结下Bodymovin的安装和使用,以及导出的动画如何在Web页面上播放。 1. 如果电脑上没有AE的话,需要安装AE CC2014或更高版本。以AE CC2017为例: ?...2.3 下载安装ZXP Installer(链接:ZXP Installer),打开软件,点击“File”>“Open”菜单项载入上述.zxp插件包,ZXP Installer会自动开始安装。...接下来我们新建一个网页来播放这段动画。

    6.4K22

    lottie系列文章(二):lottie最佳实践

    文件和设计师给的动画json文件统一放到src/assets/lottie/文件夹中。...是否自动播放 path: animateJsonPath, // 动画json文件路径 }); lottie-web常用方法 lottie-web提供了很多的控制动画播放的方法,下面是一些常用的方法...animation.play(); // 播放该动画,从目前停止的帧开始播放 animation.stop(); // 停止播放该动画,回到第0帧 animation.pause(); // 暂停该动画...* segmentStart: 播放指定片段时触发,playSegments、resetSegments等方法刚开始播放指定片段时会发出,如果playSegments播放多个片段,多个片段最开始都会触发...,前端加载该动画后,相应的图层的class会被设置为svgClass,可以通过dom方法获取这些元素并做相应的操作; 动画json文件制作及导出规范 使用该方案制作动画时,有些动画效果lottie-web

    6.1K31

    lottie系列文章(一):lottie介绍

    类似下面这种一段动画的播放,非常适合使用lottie来做。 ? 但是,给一个课程卡片本身添加动画(如:从右下角到移动到页面中,并逐渐放大的过渡效果),并不适合使用lottie。...lottie优点 Lottie方法方案是由设计师出动画,导出为json,给前端播放。...play: 播放动画 stop: 停止播放动画 pause: 暂停动画 goToAndStop: 跳到某一帧动画,并停止 setDirection: 设置播放方向 setSpeed: 设置播放速度 才外...,lottie-web也提供了一系列的事件,例如: onComplete: 动画播放完成触发 onLoopComplete: 当前循环播放完成触发 onEnterFrame: 播放一帧动画的时候触发 onSegmentStart...: 开始播放一个动画片段的时候触发 总体而言,lottie-web目前提供了丰富的方法和事件,基本可以满足对动画进行控制的需求。

    5.1K32

    Lottie动画秘籍--QQ超清表情大揭秘

    原因在于表情动画多为APNG和GIF格式,其本质上是一连串的位图。那么其流畅度就取决于两方面,动画资源本身的流畅度和手机设备的播放流畅度。...Part 2 他山之石:Lottie格式 x 表情动画 想要同时拥有流畅动画资源和手机播放性能,就必须颠覆基于位图的APNG和GIF的表情格式。此时我们发现Lottie动画十分符合我们的需求。...近些年一些高帧率电影(如《霍比特人:意外之旅》)可以达到48帧/秒,其画面震撼度和清晰度都得到大大提升。...另外通过相同锚点的位移来生成的动画可以产生更流畅的过渡,不会像位图播放那样出现跳变。...| 准备动作:物体开始动作前展示其预期动作,让观众能预知下个动作,让动画更生动。 | 考虑动作惯性:物体在两种动作中切换时不会立即产生变化,基于惯性应该存在上一个动作的跟随动作。

    1.4K40

    2022年最好的10个JavaScript动画库

    另外,你可以通过调整变化的时间间隔来控制动画的连续性。 ◆1. Anime.js 让我们从Anime.js开始这个JavaScript动画库的列表。这个轻量级的动画库在GitHub上有35K多颗星。...它的特点是动画,如关键帧、衰减、用于同步多个实例的时间线等。你可以错开任何系列的动画或函数,也可以使用纯函数来组成你自己的配置。 ◆4....GreenSock JS GreenSock的GSAP与一组小的JavaScript文件一起工作,使动画在所有主要的浏览器中看起来很好。它能顺利地将多个动画属性连接起来,并消除浏览器的错误。...它可以让你对SVG进行动画处理,给人以被绘制的感觉。由于它没有任何依赖性,所以它是快速和轻便的。 你可以选择任何一种可用的动画 - 延迟、同步或OneByOne。...Lottie by AirBnB Lottie是一种轻量级的动画图形格式,平衡了高质量的图形和渲染成本。它使应用程序更小,并包括动态功能。它可以用于网络、安卓、iOS和物联网,不需要额外的软件。

    4.7K30

    Android Lottie 中秋月饼变明月动画特效

    和尚在 Android 端进行动画处理时主要用的是 Android 自带的三种动画形式,今天和尚简单尝试通过 Airbnb Lottie 展示一个中秋月饼变明月的小动画; Lottie Lottie...循环播放 & 动画监听 前两步设置完 setAnimation() 之后,播放完成就停止动画,若需要重复播放,可以通过 loop(true) 方式进行循环播放,但该方法在新的 API 中不建议使用...,可以通过 setRepeatCount() 设置播放次数,或通过动画监听在动画结束时再次播放等; mView2.loop(true); mView1.setRepeatCount(5);...暂停 & 继续 & 取消 和尚通过 playAnimation() 使动画进行播放;而 Lottie 也提供了 pauseAnimation() 暂停动画;resumeAnimation() 暂停后继续播放以及...cancelAnimation() 取消动画等方法; 其中调用 playAnimation() 时会从动画起始位置播放,而 resumeAnimation() 会从暂停或取消动画停止位置播放;

    1.5K10

    Lottie内存泄漏问题的定位与分析

    【一、前言Lottie简介与使用】 1、Lottie简介 Lottie是Airbnb开源的跨平台动画库,支持iOS、Android、React Native 和 Web 等平台。...使用lottie方案,json文件大小会比gif文件小很多,性能也会更好。 (3). 简单的实现、控制动画的播放,开发效率大大提高。 (4). 可动态配置下发,实时替换动画效果。...lottieview在detach的时候会停止动画,如果无法停止,就会导致内存泄漏。 小编场景分析: 进首页->退出,很有可能动画还没开始,就要被停止掉,所以就释放不了资源。...加载动画是异步的,加载完成才会进入播放状态。如果compositionLayer == null 的时候,会加入到task里,没开始播放。 ? 播放开始了running= true; ?...onDetachedFromWindow停止动画 detach 处理时,先判断是不是播放状态,如果是播放状态running == true,才会去 cancel。

    7.8K30

    从设计师和开发的角度使用 lottie

    开始,制作一个 lottie 动画文件。...,用于 reference loop 循环 autoplay 自动播放 path json 路径,页面会通过一个 http 请求获取 json animationData json 动画数据,与 path...() 相关 api 名称 参数 描述 stop 无 停止动画 play 无 播放动画 pause 无 暂停 setSpeed Number 设置播放速度,1 表示1倍速度,0.5 表示 0.5倍速度 setDirection..., [Boolean] 播放片段,参数1为数组,两个元素为开始帧和结束帧;参数2为,是否立即播放片段,还是等之前的动画播放完成 destroy 无 销毁 事件 onComplete onLoopComplete...lottie 的出现可以替代传统的 gif,并且提供的 api 可以更好的控制动画。lottie 可能不适合用于过于复杂的大场景动画,但是局部的小动画,再适合不过了。

    4.2K21

    Lottie-页面动画100%硬核还原

    它就是今天的主角:Lottie Lottie简介 Lottie 是Airbnb开源的一个 面向iOS、Android、React Native 的动画库,能分析 AE 导出的动画(需要用bodymovin...下面是Lottie提供的官方效果图。类似下面这种一段动画的播放,非常适合使用Lottie来做。 Lottie流程 我们先来看下整个流程简图。...可传递需要循环的特定次数 autoplay:true / false 它会在准备好后立即开始播放 name:动画名称以供将来参考 renderer: 'svg' / 'canvas' / 'html'...) data_ready(所有动画数据加载完成) DOMLoaded(元素已添加到DOM节点) destroy 可使用addEventListener监听事件 // 动画播放完成触发 anm.addEventListener...('complete', anmLoaded); // 当前循环播放完成触发 anm.addEventListener('loopComplete', anmComplete); // 播放一帧动画的时候触发

    1.5K40

    复杂帧动画之移动端video采坑实现

    在企鹅辅导品牌页中,我们需要实现一个动画如下: 页面滚动到动画区域,播放动画, 对应动画部分如下: 帧动画当前的实现有以下几种方式: GIF 动画 大家比较熟悉的图片格式 lottie(http:...//airbnb.io/lottie/) Airbnb 开源项目,通过解析 AE 动画为 json 数据,支持跨平台的动画效果解决方案;lottie 在辅导中已经有实际应用,使用过的同学都表示对其实现效果和开发速度表示称赞和推荐...GIF 动画适用于处理色彩简单、动效简单的动画,如 logo 、 icon 图这样的小图动画,在上面需要实现的动画中明显细节比较多,区域也比较大,考虑到质量 GIF 排除在外 在使用哪种方式实现该动画上...将动画导出 json 给到我们前端开发,在使用这段 json 数据中,我们引入了 lottie-web 脚本来解析这段 json 数据渲染成为SVG / canvas 动画,效果如下图, 左图为用 lottie...标签添加两个属性即可小屏播放

    2.7K10

    【Flutter 专题】50 图解动画小插曲之 Lottie 动画

    和尚在一年前整理过一点 Lottie 在 Android 中的应用,现在 Flutter 也有相关的插件帮助我们快速简单的应用场景复杂的 Lottie 动画; 和尚在官网查询之后发现官网推荐了两个开源的...(n) 重复 n+1 次;RepeatCount.infinite() 无限循环播放;RepeatCount.dontRepeat() 仅一次,播放完停止; c. repeatMode 可设置动画播放模式...,START_OVER 播放完从头再次播放,REVERSE 从无到有从有到无; d. duration 可设置动画播放时长;当设置无限重复时不生效;其余根据重复频率使单次动画时长均分;...我们也可以动态监听动画状态并进行处理; a. start() 从头开启动画; b. pause() 暂停动画; c. unpause() 从暂停处继续播放动画;...d. stopAndReset() 停止动画,rewind 为 true 时结束动画并到动画开始时第一帧;false 为技术动画并到动画最后一帧; Row(children: [ Expanded

    1.8K41

    动画菜鸡的自我救赎之企鹅辅导品牌页开发总结

    video 动画效果也可以通过视频来实现,采用视频的方式,甚至还能调节动画播放的进度,不像动图一样只能自动播放。 而且video元素默认是不显示控制条的,这对于播放动画来说简直是完美的。...一开始我让设计同学将路的动画和隧道的动画一起导出,后面发现lottie播放路动画的时候,路变成了黑色的,可能是lottie对于透明度的支持也不是很好。...右边的tab是跟着隧道一起运动的,lottie可以监听进入每一帧的事件,在每一帧里,可以根据隧道当前播放的位置,确定右边tab的位置。 教研团队代表动画 ?...这个动画使用js + css来实现即可。大家可能会觉得这个动画简单,我一开始也是这么想的,但是具体实现起来就会觉得其实还是有一点难度的。...AI教学动画 ? 这里主要是要看到小男孩的动画,以及轴动画。 一开始我看到这个小男孩动画的时候,我想的是用lottie来实现。但是使用了lottie之后,发现效果与实际效果差别很大。

    2.1K41

    Lottie动画原理

    上图为Lottie的结构图 LOTAnimationView: 承接控制动画的功能,如播放暂停 LOTComposition: 主要解析JSON文件内容 LOTCompositionContainer:...数组类型并且数字第一个对象的t有值:带帧动画。第一个对象表示动画开始的属性,第二个对象表示动画结束的属性。...通过以下参数可以拼装出关键帧的属性值,关键帧时间点,关键帧之间的时间函数,t表示开始/结束帧,s和e表示开始/结束属性值,i和o决定动画的时间函数。...每个RunLoop周期中会自动开始一次新的事务,即使你不显式的使用[CATranscation begin]开始一次事务,任何在一次RunLoop运行时循环中属性的改变都会被集中起来,执行默认0.25秒的动画...,Lottie提供了play 播放动画的方式,实际上就是将根节点的动画添加到根图层上,使其可以开始播放动画。

    6.9K71

    深度剖析Lottie动画原理

    动画原理 工作以来,处理过css、js、canvas、骨骼动画,这些背后的原理都是通过把每一帧(瞬间)的静止图像组合起来,以一定频率(速率)播放这些图像形成动画。...fr:帧率,就是用AE做动画的时候已经预设好,这是多少帧率(fps)的动画。 ip、op:开始、结束帧。0帧开始,180帧结束,所以这个动画总的运行时间是6秒。...(图一) 上面的数据的翻译:0~30帧 scale属性值从20 -> 12,30~60帧 scale属性值从12 ->20,完成动画。上面动画之所以一直动,是lottie库可以设置loop循环播放。...一开始我的思考,用60fps去渲染能保证动画更流畅,但是问题来了。假设动画只有30帧,制作的时候整个动画总时间1s。但是用60fps去渲染,用0.5s就完成整个动画播放。...所以下面说一下lottie的处理方式: 假设json数据如图一,整个动画就是一共60帧,播放速度是30fps/s。2个关键帧 0 ->30->60。

    6.5K31

    Lottie-让动画实现更简单

    生命不是苦中醇蜜,烦中取乐,不是看花绣花,不能雾中看花,游戏生命;生命是由铁到钢的锻造过程,生命是走向人生辉煌的风帆;生命需要道路如高天,智者如流云。...自开始工作后,我就养成了一个习惯,那就是每天闲来无事去 Github 中浏览一些比较热门的开源项目,就在最近我发现了一个比较niubility的开源动画库项目 ----Lottie。...正式开始之前先简单的介绍一下, Lottie是 Airbnb 发布的一个面向 iOS、Android 和 React Native 的开源动画库。...性能:Lotti对于从AE导出的Json文件,用Core Animation做矢量动画, 性能较佳。Lotti 对解析后的数据模型有内存缓存。 灵活高效的API: 控制动画进度、播放、暂停。...根本没法开开心心提PR; 如何使用Lottie Lottie支持iOS 8及以上版本。 Lottie动画可以通过JSON 文件或从URL地址加载。

    2.7K10

    使用强大的 AirBnb Lottie 让你的 React APP 炫酷起来

    Lottie 是 Airbnb 开发的一款能够为原生应用添加动画效果的开源工具。能够实时渲染 After Effects 动画特效。...Lottie for React Lottie提供了一种完全不同的方式来创建令人印象深刻的动画,它使用流行的Adobe After Effects程序生成的动画,这些动画以JSON文件的形式导入和导出。...这是一个拥有大量免费和付费Lottie动画的网站。 假设我们想要在我们的应用程序中使用一个动画React logo(注意,你可以使用任何可用的动画)。...我将从lottifiles中选择以下React图标旋转的React动画。从那里,我们可以预览它,并改变一些东西,如背景颜色。...动画的自动播放设置默认为true,这意味着动画会在加载时自动播放。如果你想有条件地运行动画,你可以通过使用一个状态变量将它设置为true或false(如果你想只在动画可见时播放动画)。

    2.6K20
    领券