[engine] 修复 Spine 动态合图销毁时未考虑多个引用的问题

This commit is contained in:
SmallMain
2022-06-27 17:38:23 +08:00
parent 19a018dc5e
commit 35da03cbdd
4 changed files with 71 additions and 44 deletions

View File

@@ -251,11 +251,17 @@ export default class SpineAssembler extends Assembler {
attachment.updateOffset();
}
region._original._ref++;
frame.once("_resetDynamicAtlasFrame", () => {
region.x = region._original._x;
region.y = region._original._y;
region.texture = region._original._texture;
region._original = null;
region._original._ref--;
if (region._original._ref <= 0) {
region._original = null;
}
// update uv
sp.SkeletonData.updateRegionUV(region);
@@ -303,6 +309,7 @@ export default class SpineAssembler extends Assembler {
_texture: region.texture,
_x: region.x,
_y: region.y,
_ref: 0,
};
region.texture = new sp.SkeletonTexture({