Spine动画库的UTS插件
Project Start
2025-08-30
Crowdfunding Success
2025-06-01
Launch
2025-08-30
这是一个基于 Spine 动画引擎的 uni-app 原生组件,支持 Android 和 iOS 平台。
在 uni_modules/bsf-spine/utssdk/app-android/config.json
中已配置:
{
"minSdkVersion": 24,
"dependencies": [
"com.esotericsoftware.spine:spine-android:4.2.10"
]
}
在 uni_modules/bsf-spine/utssdk/app-ios/config.json
中已配置:
{
"deploymentTarget": "13.0",
"dependencies-pods": [
{
"name": "Spine",
"podspec": "https://raw.githubusercontent.com/EsotericSoftware/spine-runtimes/4.2/Spine.podspec"
},
{
"name": "SpineCppLite",
"podspec": "https://raw.githubusercontent.com/EsotericSoftware/spine-runtimes/4.2/SpineCppLite.podspec"
},
{
"name": "SpineShadersStructs",
"podspec": "https://raw.githubusercontent.com/EsotericSoftware/spine-runtimes/4.2/SpineShadersStructs.podspec"
}
]
}
<template>
<view class="container">
<bsf-spine
:src="spineSrc"
:scale="spineScale"
:offsetX="spineOffsetX"
:offsetY="spineOffsetY"
:defaultAnimation="defaultAnimation"
@progress="onProgress"
@load="onLoad"
/>
</view>
</template>
<script>
export default {
data() {
return {
spineSrc: 'https://example.com/spine-animation.zip',
spineScale: 1.0,
spineOffsetX: 0,
spineOffsetY: 0,
defaultAnimation: 'idle'
}
},
methods: {
onProgress(progress) {
console.log('下载进度:', progress + '%')
},
onLoad(loaded) {
console.log('Spine动画加载完成:', loaded)
}
}
}
</script>
属性 | 类型 | 默认值 | 说明 |
---|---|---|---|
src | String | "" | Spine 资源文件 URL(zip 格式) |
scale | Number | 1 | 动画缩放比例 |
offsetX | Number | 0 | 水平偏移量(-100 到 100) |
offsetY | Number | 0 | 垂直偏移量(-100 到 100) |
defaultAnimation | String | "idle" | 默认播放的动画名称 |
事件 | 参数 | 说明 |
---|---|---|
progress | progress: number | 下载进度事件 |
load | loaded: boolean | 加载完成事件 |
组件支持从远程 URL 下载 Spine 资源文件,文件格式要求:
spine.atlas
- Atlas 文件spine.json
- Skeleton 文件项目包含完整的示例,展示了:
SpineView
和 SpineController
SpineView
和 SpineController
destroy()
方法释放资源本项目基于 Spine 运行时,请遵守 Spine 的许可协议。
文档正在制作中,敬请期待...
No versions released yet