带你读《2022技术人的百宝黑皮书》——全景封面视频生成技术在淘宝的应用(18)

简介: 带你读《2022技术人的百宝黑皮书》——全景封面视频生成技术在淘宝的应用(18)

带你读《2022技术人的百宝黑皮书》——全景封面视频生成技术在淘宝的应用(17) https://developer.aliyun.com/article/1243462?groupCode=taobaotech




按规则执行动画

按照我们既定的规则「每 2 秒来回转动 20 度」,实现代码如下:


const duration = 2000;
setTimeout(() => locate(-20), duration);
setTimeout(() => locate(0), duration * 2);
setTimeout(() => locate(20), duration * 3);
setTimeout(() => locate(0), duration * 4);


image.png


可以看到移动的效果非常地生硬,不像是正常的人眼睛转动的感觉。因为我们的程序缺少了对执行过程的描述。可以引入动画来进行优化,让「 x 时间转动到 x 位置」的执行过程化:


import animejs from 'animejs';
function runAnimate( update) {
 const anim = {
 x: 0,
 };
 animejs.timeline({
 targets: anim,
 duration: 2000, // 间隔 2 秒
 easing: 'linear', // 线性执行
 update: () => update(anim),
 })
 .add({ x: -20, })
 .add({ x: 0, })
 .add({ x: 20, })
 .add({ x: 0, });
 }
// 视频播放即开始执行动画
video.addEventListener('play', () => {
 runAnimate(({ x }) => locate(x));
});


最终效果:


image.png




带你读《2022技术人的百宝黑皮书》——全景封面视频生成技术在淘宝的应用(19) https://developer.aliyun.com/article/1243460?groupCode=taobaotech

相关文章
|
机器学习/深度学习 算法 PyTorch
【PyTorch实战演练】自调整学习率实例应用(附代码)
【PyTorch实战演练】自调整学习率实例应用(附代码)
532 0
|
JavaScript
【VUE异常】el-popconfirm失效,@confirm事件不生效,点击没有任何反应,刷新页面才能点击
【VUE异常】el-popconfirm失效,@confirm事件不生效,点击没有任何反应,刷新页面才能点击
828 0
|
JavaScript
vue-router路由实现页面的跳转
该博客文章介绍了如何在Vue.js应用程序中使用Vue Router 4实现页面跳转,包括项目结构、组件定义、路由配置以及首页设置,并附有效果展示。
vue-router路由实现页面的跳转
|
编解码 Linux
FFmpeg开发笔记(十)Linux环境给FFmpeg集成vorbis和amr
在Linux环境下,为FFmpeg添加对AAC、MP3、OGG和AMR音频格式的支持,需安装libogg、libvorbis和opencore-amr库。首先,从官方源下载各库的最新源码,如libogg-1.3.5、libvorbis-1.3.7和opencore-amr-0.1.6,然后解压并依次执行`./configure`、`make`和`make install`进行编译安装。接着,在FFmpeg源码目录中,使用`./configure`命令重新配置,并重新编译安装FFmpeg。最后,验证FFmpeg版本信息确认已启用ogg和amr支持。
814 0
FFmpeg开发笔记(十)Linux环境给FFmpeg集成vorbis和amr
|
安全 Java 编译器
Golang面试前三夜准备:细节沉淀
Golang面试前三夜准备:细节沉淀
|
存储 安全 开发工具
Git 中文参考(五)(3)
Git 中文参考(五)
189 1
|
JavaScript
【配置VUE的node-npm时遇到的问题】
【配置VUE的node-npm时遇到的问题】
282 0
|
XML 网络协议 IDE
WCF基础教程(三)——WCF通信过程及配置文件解析
WCF基础教程(三)——WCF通信过程及配置文件解析
594 0
WCF基础教程(三)——WCF通信过程及配置文件解析
|
安全 搜索推荐 数据安全/隐私保护
[视频]企业身份管理的挑战|学习笔记(二)
快速学习[视频]企业身份管理的挑战
[视频]企业身份管理的挑战|学习笔记(二)
DAPP燃烧机制模式合约代币项目系统开发案例详情/规则玩法/方案逻辑/代码详解
Independent public chain development refers to the establishment of an independent public chain network beyond the existing blockchain network. Compared to developing on existing blockchain networks, the significance of independent public chain development is that it can more flexibly and autonomous