cocos的异步资源加载如何避免弊端?


在我的程序中,有一个背景切换的部分,用的是两层背景(用来达到渐变效果)
但是,cc.resources.load是异步加载,导致图片还没加载完就开始渐变了,导致“穿帮”,请问大佬们如何避免?

1.提前加载,用变量保存下sf,当然也存在一些会加载没有完成的情况
2.使用 promise await async

bg2 的动作写在load里面即可

啊!谢谢!已解决,这思路真奇特,谢谢

提前加载恐怕有的时候也来不及,已经按照楼下的方案解决,谢谢

1赞

谢谢!
但是,把FadeOut写进Load以后,还是FadeOut还没完就执行下一步代码了……
image
此时如果除掉下面两行,代码功能已经实现,但是要把顶层资源再替换成新资源以方便下一次渐变

多看看文档吧骚年~~~,你做个队列动作就好了,fadeout 1s后再执行你后面那两行

谢谢!今天我又看了看文档,之前还不太理解tween(现在可能还是),拿cc.tween做成了渐变效果,但是,修改 SpriteFrame并不是一个action,请问如何执行完tween后再执行后面的脚本呢?

加个call方法就好了