当前位置: 首页 > news >正文

基于lottie的微信小程序动画开发指南

svga动画开发指南

效果

PixPin_2025-07-01_13-44-58

实现

安装lottie依赖包

npm install lottie-miniprogram

在界面引入依赖包

  import lottie from 'lottie-miniprogram';

画布准备

<canvasid="Mycanvas"ref="canvas"type="2d"style="width:600rpx;height:400rpx;"
/>

初始化方法

onMounted(() => {// 初始化 Lottie 动画initLottieAnimation();});const initLottieAnimation = () => {uni.createSelectorQuery().select('#Mycanvas').node(res => {if (!res || !res.node) {console.error('Canvas node not found');return;}const canvas = res.node;const context = canvas.getContext('2d');// 获取设备像素比,确保动画清晰度const dpr = uni.getSystemInfoSync().pixelRatio || 1;canvas.width = 600 * dpr;canvas.height = 400 * dpr;// 缩放canvas上下文以匹配设备像素比context.scale(dpr, dpr);// 设置 Lottie canvaslottie.setup(canvas);console.log(svgaData)try {// 加载动画数据const lottieRef = lottie.loadAnimation({loop: true,autoplay: true,// 使用本地动画数据文件// animationData: svgaData,// 或者使用远程 URLpath: 'https://msd.junongshupin.com/FILES/miniapp/anim/lf20_2BmOqX.json',rendererSettings: { context,},});// 添加动画事件监听lottieRef.addEventListener('complete', () => {console.log('Lottie animation completed');});lottieRef.addEventListener('loopComplete', () => {console.log('Lottie animation loop completed');});lottieRef.addEventListener('error', (error) => {console.error('Lottie animation error:', error);});} catch (error) {console.error('Lottie animation load failed:', error);}}).exec();
};
http://www.dtcms.com/a/271196.html

相关文章:

  • [论文阅读] 软件工程 | 一篇关于开源许可证管理的深度综述
  • 轻松更改 Power BI 中的数据源类型
  • 川翔云电脑:突破硬件极限,重构设计生产力范式
  • 软件设计师中级概念题
  • Vue+ElementUI聊天室开发指南
  • 桌面开发,在线%图书管理系统%开发,基于C#,winform,界面美化,mysql数据库
  • 技术开发栈中 URL地址末尾加不加 “/“ 有什么区别?
  • 028_this关键字的使用场景
  • ABP VNext + Marten:事件溯源与 CQRS 全流程实战
  • Amazon SageMaker 部署 AIGC 应用:训练 - 优化 - 部署 - Web 前端集成应用实践
  • 解决IDEA缺少Add Framework Support选项的可行性方案
  • ObjectClear - 图像处理新革命,一键“抹除”图像中任意物体与阴影 支持50系显卡 一键整合包下载
  • 响应式原理二:响应式依赖收集
  • 前端进阶之路-从传统前端到VUE-JS(第四期-VUE-JS页面布局与动态内容实现)(Element Plus方式)
  • Higress 上架 KubeSphere Marketplace,助力企业构建云原生流量入口
  • 海信IP501H_GK6323处理器免拆卡刷包和线刷救砖包_当贝纯净版
  • 类模板的语法
  • 计算机网络实验——网线的制作和测试
  • 网安-SSRF-pikachu
  • RNN及其变体的概念和案例
  • Vue响应式原理一:认识响应式逻辑
  • python 为什么推荐使用虚拟环境(如 venv)?它解决了什么问题?
  • doris2.1.8连接报错ERROR 1203 (42000): Reach limit of connections解决办法
  • 使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建
  • Oracle:使用ONLINE选项创建索引
  • 【内核基础精讲】I2C 子系统核心概念与结构全解析
  • 类与对象【下篇】-- 关于类的其它语法
  • 蓝凌EKP产品:属性转换器系统优化
  • c语言学习_函数递归2
  • 70、【OS】【Nuttx】【构建】配置 stm32 工程