cocos creator实现加载场景进度条

简介: cocos creator实现加载场景进度条

游戏加载场景一直很慢,为了用户体验,增加一个加载进度条显示加载进度,

我们需要用到2个方法:

preloadScene 和 loadScene

2种节点:

遮罩和进度条

遮罩:

通过单色精灵直接制作一个黑色节点(需要完全覆盖界面,透明度改为100,纯黑色):

image.png

进度条:

直接使用cocos官方节点的进度条,额外增加个label组件显示文字,也可自行使用图片,然后使用填充类型实现进度条

需要注意使用widget进行定位组件位置

image.png

image.png

image.png

编写代码:

首先给进度条组件编写脚本:

import log = cc.log;
const {ccclass, property} = cc._decorator;
@ccclass
export default class ProgressBar extends cc.Component {
    num = 0;//进度数据
    isShow = false;//是否显示
    show() {
        //显示
        this.isShow = true;
        this.node.active = true;
        cc.find("MainMenu/Mask").active = true;
    }
    hide() {
        //隐藏
        this.isShow = false;
        this.node.active = false;
        cc.find("MainMenu/Mask").active = false;
    }
    update() {
        let progressBar = this.node.getComponent(cc.ProgressBar);
        progressBar.progress = this.num;//更新进度条ui的图
        cc.find('MainMenu/ProgressBar/num').getComponent(cc.Label).string= Math.trunc(this.num*100)+'%';//更新进度条文字
    }
}

在需要加载场景的地方调用:

playGame() {
    let progressBarNode = cc.find('MainMenu/ProgressBar');
    let progressBar = progressBarNode.getComponent('ProgressBar');
    //预加载场景并获得加载进度
    cc.director.preloadScene('Game', function (completedCount, totalCount, item) {
        //可以把进度数据打出来
        progressBar.num = completedCount / totalCount;
        progressBar.show();
    }, function () {
        progressBar.hide();
        //加载场景
        cc.director.loadScene("Game", function (a, b, c) {
            СameraСontrol.newGame();
        });
    });
}

启动游戏即可看到效果:

image.png

目录
相关文章
|
6月前
|
图形学
cocos creator DragonBones 源码阅读
cocos creator DragonBones 源码阅读
67 0
Cocos Creator3.8 项目实战(一)cocos creator prefab 无法显示内容解决
Cocos Creator3.8 项目实战(一)cocos creator prefab 无法显示内容解决
189 0
Cocos Creator3.8 项目实战(二)cocos creator编辑器中绑定事件引发的bug解决
Cocos Creator3.8 项目实战(二)cocos creator编辑器中绑定事件引发的bug解决
136 0
creator最强场景预览插件
creator最强场景预览插件
107 0
|
JavaScript
cocos creator实现自定义进度条
cocos creator实现自定义进度条
285 1
cocos creator实现自定义进度条
|
UED
cocos creator实现加载场景进度条
cocos creator实现加载场景进度条
632 0
cocos creator实现加载场景进度条
7. 在Creator中加载模型动画
7. 在Creator中加载模型动画
84 0
cocos creator锚点分析
锚点(Anchor) 是节点的另一个重要属性,它决定了节点以自身约束框中的哪一个点作为整个节点的位置。我们选中节点后看到变换工具出现的位置就是节点的锚点位置。
647 0
cocos creator锚点分析
|
IDE Linux 开发工具
cocos creator 代码编辑环境配置
Visual Studio Code (以下简称 VS Code)是微软新 推出的轻量化跨平台IDE,支持 Windows、Mac、Linux 平台,安装和配置非常简单。通过下面介绍的设置方法,使用 VS Code 管理和编辑项目脚本代码,可以轻松实现语法高亮、智能代码提示等功能,还可以直接使用 VS Code 调试网页和原生版本的游戏。
222 0
cocos creator 代码编辑环境配置
|
图形学 索引