就没有一个同步加载方法吗,很多问题都是异步照成的

例如最典型的。预制体当做界面,异步加载一个预制体,界面显示出来了后才执行初始化逻辑。导致加载出来的东西都是无数据的然后闪一下初始化。

我原本以为onload里面可以执行一些初始化代码,但是都是一样的 异步,onload只是通知你一下仅此而已。

现在我跳转场景,场景出来了 东西还没初始化出来。然后卡顿加载出来。

我只是想在显示出场景之后能让玩家直接看到完整的场景啊。引擎就不能提供一个同步方法 把初始化和资源加载当做同一逻辑处理??
光资源加载完毕有什么用????

引擎组只需要在加载完后执行下onInit 方法,用户用不用自己决定。

load一个带脚本的资源 必然会带有一些初始化方法,例如动态创建一些东西 实例化预制体等等

场景里面的东西倒都是同步加载出来的,一个球是拖到场景里面的, 场景加载出来后 球就可以动了。 但是我在onload里面加载了100个这样的球。

结果是场景在动 场景里面初始化的1个球在动。 动画在动

我在onload里面加载的100个球还没加载出来

提前加载好预制体呀 实例化预制体是同步的

预制体是好解决,但是一般我都是在预制体里面写初始化方法 而不是在实例化预制体的地方 用这种方式来保持代码整洁。

但是我现在是场景切换的时候遇到的问题,场景显示了 东西还没实例化出来 导致问题

我现在只能写个定时器 用常驻节点固定遮住4秒钟, 我根本就不知道 在哪里能判断这些单位真正的加载完毕了.

onStart里面吧

没用,物理小球, 需求是在游戏场景里面初始化100个小球,
对象池也用了,在上一个场景实例化120个存到对象池。
结果还是一样,场景显示出来后 100个小球还没加载完毕, 3秒后才出来而且巨卡。 都加载完毕后就不卡了。

这100个物理小球都长的不一样吗?
如果长得都一样, 或只有几种, 那拖到场景里加载(不激活)再用cc.instantiate去生成其它小球不行吗?

不如做成对象池,方便省事,什么事情都没有还不会卡

确实需要同步加载的方法,部分情况使用async await也无法解决, 或者改造onLoad和start,让不同组件使用await时也能串行。