npm i svgaplayerweb --save
yarn add svgaplayerweb
import SVGA from 'svgaplayerweb'
- <template>
- <div>
- <div :id="'guide' + timeId" class="game-guide">div>
- div>
- template>
- <script lang="ts" setup>
- import { onMounted, ref } from "vue";
- import SVGA from "svgaplayerweb";
- const timeId = ref(Math.floor(new Date().getTime() * Math.random())); // 使该图表保持唯一id
- const guideFn = () => {
- // 获取id的dom元素
- var player = new SVGA.Player(`#guide${timeId.value}`);
- var parser = new SVGA.Parser();
-
- parser.load("/svgas/dj.svga", (videoItem) => {
- // 你的svga文件路径
- player.setVideoItem(videoItem);
- player.startAnimation(); // 开始动画
- });
- };
- onMounted(() => {
- guideFn();
- });
- script>
- <style scoped long="scss">
- .game-guide {
- position: absolute;
- bottom: 0;
- right: 0;
- width: 150px;
- height: 150px;
- z-index: 5;
- overflow: hidden;
- pointer-events: none;
- }
- style>
- const guideFn = () => {
- // 获取id的dom元素
- var player = new SVGA.Player(`#guide${timeId.value}`);
- var parser = new SVGA.Parser();
-
- parser.load("/svgas/dj.svga", (videoItem) => {
- // 你的svga文件路径
- player.setVideoItem(videoItem);
- player.startAnimation(); // 开始动画
- player.loops = 1; // 设置循环次数
- player.setWrapMode(1); // 设置填充模式
- player.startAnimation(); // 开始播放动画
- player.startAnimation(); // 开始播放动画
- player.pauseAnimation(); // 暂停动画
- player.stopAnimation(); // 停止动画
- player.stepToFrame(10, true); // 跳转到第10帧并播放
- });
- };
Svgaplayer提供了一系列控制方法来管理SVGA动画的播放,包括:
SVGA.Parser 用于加载远端或 Base64 动画,并转换成 VideoItem。
跨域的 SVGA 资源需要使用 CORS 协议才能加载成功。
如果你需要加载 Base64 资源,或者 File 资源,这样传递就可以了 load(File) 或 load('data:svga/2.0;base64,xxxxxx')。
包括但不限于:
用户界面动效: SVGA可以用于创建各种炫酷的用户界面动画,提升用户体验和界面交互。
引导页面: 利用SVGA动画可以设计引人注目的引导页面,引导用户浏览应用的特性和功能。
游戏开发: 在游戏中,SVGA动画可用于制作角色动画、过场动画或特效,增强游戏的视觉吸引力。
广告和营销: SVGA动画能够制作生动的广告素材,吸引用户关注,提高广告的效果。
教育应用: 利用SVGA动画可以创建生动的教育内容,使学习过程更有趣和易于理解。
产品演示: SVGA动画可用于展示产品的特性、功能或使用场景,为产品演示增色添彩。
品牌宣传: 具有吸引力的SVGA动画能够在品牌宣传中起到突出的作用,留下深刻印象。