Sprite (序列帖动画)
Canvas绘制,支持播放、暂停等控制功能,实现动画交互展示
支持平台
安卓 | ios | 鸿蒙 | web | 微信小程序 |
---|---|---|---|---|
√ | √ | √ | √ | √ |
示例代码
html
<template>
<t-page main-class="p-30">
<t-card main-class="tdr tdb mb-30" title="Sprite 序列帖动画" sub-title="Canvas绘制,支持播放、暂停等控制功能,实现动画交互展示"></t-card>
<t-section main-class="tdr tdb mb-30" title="自动播放"></t-section>
<t-sprite main-class="twh-400 tdr tdb mb-30 ml-175" :frames="frames" :autoplay="true" :loop="true"></t-sprite>
<t-section title="手动控制" main-class="tdr tdb mtb-30"></t-section>
<t-sprite main-class="twh-400 tdr tdb ml-175" :frames="frames" ref="spriteins"></t-sprite>
<t-col main-class="mt-60">
<t-button type="p" main-class="mb-30" @click="play">播放</t-button>
<t-button type="p" main-class="mb-30" @click="pause">暂停</t-button>
<t-button type="p" main-class="mb-30" @click="resume">继续</t-button>
<t-button type="p" main-class="mb-30" @click="stops">停止</t-button>
</t-col>
</t-page>
</template>
<script setup>
const spriteins = ref<ComponentPublicInstance | null>(null);
const arr : string[] = [];
for (let i = 0; i < 54; i++) {
arr.push(`/pagesC/static/tinified/${i}.png`);
}
const frames = ref(arr);
// 播放方法
function play() {
if (spriteins.value != null) {
spriteins.value.$callMethod('play');
}
}
// 暂停方法
function pause() {
if (spriteins.value != null) {
spriteins.value.$callMethod('pause');
}
}
// 继续方法
function resume() {
if (spriteins.value != null) {
spriteins.value.$callMethod('resume');
}
}
// 停止方法
function stops() {
if (spriteins.value != null) {
spriteins.value.$callMethod('stops');
}
}
</script>
属性
名称 | 类型 | 默认值 | 说明 | 可选值 |
---|---|---|---|---|
size | String | mini | 组件尺寸 | large(大尺寸), medium(中尺寸), small(小尺寸), mini(迷你) |
type | String | "" | 组件类型 | info(信息), primary(正常), error(错误), warning(警告), success(成功) |
disabled | Boolean | false | 组件是否禁用 | false, true |
stop | Boolean | false | 是否阻止事件冒泡(Tui统一写法处理事件冒泡) | false, true |
hover | Boolean | true | 是否有点击效果 | false, true |
path | String | "" | 点击组件后跳转的页面路径,如果为空则响应点击事件,如果不为空则跳转页面不会响应单击事件。 | - |
mainClass | String | "" | 组件根节点的样式 | - |
nativeClass | String | "" | 组件根节点原生样式 | - |
effect | String | "normal" | 组件显示主题 | normal(正常), dark(深色), light(浅色), plain(镂空) |
frames | string[] | [] as string[] | 序列帖数组 | |
interval | Number | 3000 | 间隔 | |
speed | Number | 20 | 播放速度 | |
loop | Boolean | false | 是否循环 | |
autoplay | Boolean | false | 自动播放 |
事件
名称 | 返回参数 | 说明 |
---|---|---|
play | - | 播放 |
pause | - | 暂停 |
resume | - | 继续 |
stop | - | 停止 |
方法
名称 | 参数 | 返回值 | 说明 |
---|---|---|---|
play | - | - | 播放动画 |
pause | - | - | 暂停动画 |
resume | - | - | 继续播放 |
stops | - | - | 停止播放 |