2.4.0关于spine节点在IOS上无法获取节点大小的补充

修复spine节点在IOS上无法获取节点大小的问题(浏览器可以正常获取) #273
https://github.com/cocos-creator-packages/jsb-adapter/pull/273/files

上面是2.4.0的修复方法


实测发现修复并不完全,当第一次load的时候是没问题的,如果第二次再调用load 这个时候就会使用之前的缓存了

    let skeletonCache = spine.retainSkeletonData(uuid);
    if (skeletonCache) {
        this._skeletonCache = skeletonCache;
        return;
    }

从这里就返回了,而这个时候this.width和this.height其实还是没有值的,需要改成

    let skeletonCache = spine.retainSkeletonData(uuid);
    if (skeletonCache) {
        this.width = skeletonCache.getWidth();
        this.height = skeletonCache.getHeight();
        this._skeletonCache = skeletonCache;
        return;
    }

这样就能保证一直都有值了

if (this._skeletonCache) return;

最上面这行其实也可以改一下,不过暂时没发现什么情况会走到这里

1赞

感谢反馈,是有这样的问题,我处理下。

谢谢大大~