LoadScene.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import { _decorator, assetManager, Component, director, ProgressBar } from 'cc';
  2. const { ccclass, property } = _decorator;
  3. @ccclass('LoadScene')
  4. export class LoadScene extends Component {
  5. private progressBar: ProgressBar = null;
  6. start() {
  7. this.progressBar = this.node.getComponentInChildren(ProgressBar);
  8. this.loadSceneWithProgress("GameScene");
  9. }
  10. loadSceneWithProgress(sceneName: string) {
  11. assetManager.loadBundle("Scene", (err, bundle) => {
  12. if (err) {
  13. console.log("加载失败", err);
  14. return;
  15. }
  16. bundle.loadScene(
  17. sceneName,
  18. (finished: number, total: number) => {
  19. this.progressBar.progress = finished / total;
  20. },
  21. (err, sceneAsset) => {
  22. if (err) {
  23. console.log("加载场景失败", err);
  24. return;
  25. }
  26. this.node.active = false;
  27. director.runSceneImmediate(sceneAsset);
  28. }
  29. );
  30. });
  31. }
  32. }