新增大量节点时页面上所有正在运行的动画都自动暂停了,节点生成之后又自动运行了,这是为什么,有什么解决办法吗?还是说是其他原因?
1赞
因为js是单线程的,你的动画代码逻辑要等你的大量节点生成完以后才会继续运行
那有解决办法吗?
节点分帧生成,你在onUpdate里生成节点,一帧不要生成太多个,2-8个这样,卡就数量调低点。
update函数
不行,这相当于是一个闯关游戏,你第一关通过之后,就要生成第二关的信息,每一个的节点都是以一种规则随机生成的,也就是在生成下一关的时候动画会暂停一会
dc是不是爆了 ~
这种情况下,画面卡一下子是可以接受的呀。。你可以搞个进度条或者用着过渡动画掩盖它
那就加个loading画面
或者在第一关结束的时候增加个过关动画,播放的时候同时异步加载第二关资源
这样行吗
我试试。。
用nodePool了吗?既然每一关都要生成这些节点,那节点想必是可以复用的(如果不能复用那你的设计思路可能就有问题)。所以开始游戏的时候先生成一批节点放在nodePool里(开始游戏时可以加一个比较长时间的loading动画),之后每关都从nodePool里取节点出来用。