关于CocosCreator2.2.1升到2.3.1的贴图错位问题

最近打算优化一下之前开发过的一个小游戏,结果用2.3.1的游戏引擎打开一看却发现游戏一些装饰用的贴图(像是树、草、石头之类的东西)发生了错位。虽然可以通过Canvas的Fit Width=true来修复,但是这样又会导致游戏背景无法适配不同分辨率的屏幕。后来给装饰贴图加了个刚体组件就好了,有大神知道发生这种现象的原因吗?以及能不能提供除了加刚体组件以外的解决办法?

地图用的是prefab生成的,这是prefab中的效果


这是实际生成的效果

具体是什么样的错位,哪个节点尺寸相比旧版本出错?

就像我上面发的图片一样,预制体中的所有没有加刚体组件的节点都会向右偏移一些。我刚刚又试了一下,在根节点加一个刚体组件(设置成静态)就不会发生偏移了。

能上传一个 2.2.1 版本的项目 demo 吗?

https://github.com/Altriur/YoRHa

1赞

谢谢反馈,这个问题将会在 2.3.2 修复!原因是刚体会获取初始化过程中的父节点坐标,导致第一帧实际渲染的坐标和物理不匹配。目前可以先写个脚本在场景 onLoad 时执行一下 Canvas 节点上的 widget 的 widget.updateAlignment()
或者参照这个修改一下引擎:
https://github.com/cocos-creator/engine/pull/6308

2.4.2版本,动态改变窗口大小,刚体的显示依然有问题

我也遇到了,是的呢~