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

目录
相关文章
|
4月前
|
Shell API
最新,通过GACCode配置Codex桌面客户端使用方案!
本指南详解Codex桌面端配置流程:①安装客户端;②获取gaccode.com的API Key(无订阅可邮件申请);③创建并编辑~/.codex/config.toml文件,配置gac模型提供方与gpt-5.4模型;④导出CODEX_API_KEY环境变量;⑤重启应用即可开始智能对话。
最新,通过GACCode配置Codex桌面客户端使用方案!
CocosCreator3.8研究笔记(十三)CocosCreator 音频资源理解(2)
CocosCreator3.8研究笔记(十三)CocosCreator 音频资源理解
910 0
|
数据处理 Python
熵值法计算权重
熵值法计算权重是一种基于信息论的方法,用于多指标综合评价。通过计算各指标的信息熵,反映指标的变异程度,从而确定其在综合评价中的权重。熵值越小,表示信息量越大,指标的重要性越高。该方法适用于样本数据较少的情形,能有效避免主观因素的影响。文中详细介绍了熵值法的原理、计算步骤及Python实现代码。
3336 1
|
传感器 监控 物联网
Zabbix 7.0.0 发布,这些新特性很Nice!
【7月更文挑战第10天】
1309 1
Zabbix 7.0.0 发布,这些新特性很Nice!
|
C# 图形学 C++
使用vscode开发C#+unity没有代码提示问题
使用vscode开发C#+unity没有代码提示问题
1688 0
使用vscode开发C#+unity没有代码提示问题
|
小程序
【微信小程序】实战案例 -- 向订阅用户发送消息(范例:报名提醒)
【微信小程序】实战案例 -- 向订阅用户发送消息(范例:报名提醒)
1073 0
|
Ubuntu 安全 机器人
ROS入门笔记(二):ROS安装与环境配置及卸载(重点)
ROS入门笔记(二):ROS安装与环境配置及卸载(重点)
2673 1
ROS入门笔记(二):ROS安装与环境配置及卸载(重点)
|
Dart 开发工具 Android开发
Flutter与iOS原生混合开发
Flutter与iOS原生混合开发
886 2
|
Prometheus 监控 Cloud Native
Prometheus-Operator模式下的Prometheus配置
Prometheus是常用的系统监控工具。本文介绍在Prometheus-Operator模式下如何使用自定义资源cr配置Prometheus。
Prometheus-Operator模式下的Prometheus配置

热门文章

最新文章