Skip to content

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>

属性

名称类型默认值说明可选值
sizeStringmini组件尺寸large(大尺寸), medium(中尺寸), small(小尺寸), mini(迷你)
typeString""组件类型info(信息), primary(正常), error(错误), warning(警告), success(成功)
disabledBooleanfalse组件是否禁用false, true
stopBooleanfalse是否阻止事件冒泡(Tui统一写法处理事件冒泡)false, true
hoverBooleantrue是否有点击效果false, true
pathString""点击组件后跳转的页面路径,如果为空则响应点击事件,如果不为空则跳转页面不会响应单击事件。-
mainClassString""组件根节点的样式-
nativeClassString""组件根节点原生样式-
effectString"normal"组件显示主题normal(正常), dark(深色), light(浅色), plain(镂空)
framesstring[][] as string[]序列帖数组
intervalNumber3000间隔
speedNumber20播放速度
loopBooleanfalse是否循环
autoplayBooleanfalse自动播放

事件

名称返回参数说明
play-播放
pause-暂停
resume-继续
stop-停止

方法

名称参数返回值说明
play--播放动画
pause--暂停动画
resume--继续播放
stops--停止播放