1.7版本的一个bug和一个建议, 新加一个疑问

bug: 相机在preloadScene的时候就生效, 导致裁剪错误.
重现方法: 从一个有相机的场景preloadScene另一个有相机的场景, 就会出现裁剪错误, 把视野内的图片裁掉. 推断原因是preloadScene的过程中被预加载的场景中的相机生效, 导致按照该相机裁剪了当前场景.

建议: simulator可不可以使用release编译, 这样可以进行效率的profile.

疑问: 引擎会在有spine动画的节点的active变化的时候把过去的SkeletonAnimation释放掉, 重新建立一个新的. 感觉没必要, 而且导致之前获得的TrackEntry失效. 请问原因是啥? 有没有可能不释放掉旧的, 继续用? 毕竟只是active关开了一下.

@dumganhar
@jjyinkailejj
相机bug求修复~

simulator进行profile的意义不大,因为最终打包的js与simulator预览有很大差异。要profile就构建一个工程出来编译release去做吧。

相机问题,@jjyinkailejj

active释放问题释放SkeletonAnimation重新建一个新的,我这里如何测试?有没有demo?

engine里面的Skeleton.js的_refresh函数会重建sgNode
而__prepload函数会调用_refresh, 造成这个问题.
调用这个_refresh的另一个地方, 是在设置skeletonData的时候. 这里确实需要重建. 但上面那个active改变的时候感觉是不需要的.

camera 这个可以给个demo吗

这个 @jare 看一下吧。

抱歉,spine 的 __preload 不应该重复调用,我们会尽快修复这个问题。这个问题只会在 debug 模式下存在,发布成 release 后不会这样。

:+1:谢谢, 神速

Try.zip (463.7 KB)

第一个场景onLoad的1秒后进行preloadScene第二个场景, 同时移动相机, 就会重现.

@jjyinkailejj
你那边demo是否重现了问题?

重现了,在看