使用 3.8.1 / 3.8.3 / 3.8.5 引擎版本都会出现以下问题。
在项目中使用 两个 spine 组件 加载同一个 spine 文件资源,在进行骨骼旋转的时候出现以下几个问题。
- 在加载完成不使用播放动画的时候,使用下面代码可以旋转骨骼
onTouchMove(event: EventTouch) {
const delta = event.getDelta();
const bone = this.leftSpine.findBone(this.boneName);
if (!bone) {
console.error(`Bone ${this.boneName} not found`);
return;
}
const rotationSpeed = 0.5; // 调整旋转速度
if (0) {
// 可以设置 动画 但是会出现同一个 spine 资源同时被旋转的情况
bone.data.rotation += delta.x * rotationSpeed;
}
else {
// 不能设置动画 可以使用 同一个 spine 资源
bone.rotation += delta.x * rotationSpeed;
}
}
当加载完spine动画以后并播放动画就会出现,操作不能实现骨骼旋转了。
- 加载完 spine 文件资源播放动画的时候,把上面的代码段修改为以下
if (1) {
// 可以设置 动画 但是会出现同一个 spine 资源同时被旋转的情况
bone.data.rotation += delta.x * rotationSpeed;
}
else {
// 不能设置动画 可以使用 同一个 spine 资源
bone.rotation += delta.x * rotationSpeed;
}
虽然可以旋转骨骼了,但是会出现两个 spine 组件的骨骼都被旋转了。
有什么的方案能解决上面的骨骼旋转问题吗?

