跳转到内容

生命周期(Cocos)

Web SDK 生命周期 中,纯 JS 游戏必须显式注册五个回调;而 Cocos 不需要任何额外配置。当插屏或激励广告打开时,扩展会:

  • 暂停 Cocos 的 director(你的调度器、tween、动画都会停下)。
  • 挂起音频引擎(音乐不会盖在广告上响)。
  • 广告关闭时两者一起恢复。

只要扩展启用、FRVRSDK 组件挂在第一个场景上,这些行为就免费拿到了。

  • 加载进度。 通过组件的 autoTrackLoading 开关来驱动渠道启动画面,或手动调用 FRVRSDK.instance.setLoadingProgress(0..1) / completeLoading()。详见 Cocos 快速上手
  • 场景切换。 如果一次较长的场景加载发生在 completeLoading 之后,你需要自己暂停玩法 —— 此时 SDK 已经把控制权交给你的游戏。

如果你需要在游戏代码里响应暂停/恢复

Section titled “如果你需要在游戏代码里响应暂停/恢复”

监听 Cocos 自身的事件 —— 因为扩展驱动的就是同一套暂停/恢复状态,这些事件会触发:

import { game, Game } from 'cc';

game.on(Game.EVENT_HIDE, () => {
  // 标签页切到后台、广告打开、应用最小化……
  stopAmbientLoops();
});

game.on(Game.EVENT_SHOW, () => {
  resumeAmbientLoops();
});

不要去碰扩展的内部实现 —— 封装这一侧由扩展掌控,可能会变。