增加对3.7 3.8的二进制读取

This commit is contained in:
tianmo committed 2026-09-09 21:56:13 +08:00
1 parent 1b67933cac
commit 4c5033d2f9
10 files changed
+526 -52

No files matched your search

+5 -7
View File
@@ -272,7 +272,10 @@
return new Promise((resolve, reject) => {
const s = document.createElement('script');
s.src = '../lib/' + dir + '/spine-canvas.js';
s.onload = () => resolve();
s.onload = () => {
try { require('../js/spine-legacy-binary.js').install(spine, dir); resolve(); }
catch (e) { reject(e); }
};
s.onerror = () => reject(new Error('无法加载 Spine 运行时:lib/' + dir + '/spine-canvas.js'));
document.head.appendChild(s);
});
@@ -859,13 +862,8 @@
skeletonData2 = loader.readSkeletonData(skelData);
}
// 3.6/3.7 的二进制骨骼无法由官方 JS 运行时解析
if (!skeletonData2 || !skeletonData2.bones || skeletonData2.bones.length === 0) {
const isOldBin = assets.isBinary && version && parseFloat(version) < 3.8;
showError(isOldBin ? '版本二进制暂不支持' : '骨骼数据为空',
isOldBin
? 'Spine ' + version + ' 的二进制骨骼(.skel / .skel.bytes)无法由官方 JS 运行时解析。\n\n建议在 Spine 中改用 JSON 导出(`.json`)后再导入预览。'
: '未能读取到有效的骨骼数据。');
showError('骨骼数据为空', '未能读取到有效的骨骼数据。');
return;
}