Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >cocos creator实现加载场景进度条

cocos creator实现加载场景进度条

作者头像
仙士可
发布于 2021-10-22 02:15:17
发布于 2021-10-22 02:15:17
4K00
代码可运行
举报
文章被收录于专栏:仙士可博客仙士可博客
运行总次数:0
代码可运行

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

我们需要用到2个方法:

preloadScene 和 loadScene

2种节点:

遮罩和进度条

遮罩:

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

进度条:

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

编写代码:

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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)+'%';//更新进度条文字
    }
}

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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();
        });
    });
}

启动游戏即可看到效果:

本文为仙士可原创文章,转载无需和我联系,但请注明来自仙士可博客www.php20.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/10/21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
cocos creator实现自定义进度条
本文为仙士可原创文章,转载无需和我联系,但请注明来自仙士可博客www.php20.cn
仙士可
2021/10/27
1.6K0
cocos creator基本操作
var node = cc.find("Canvas/bg");//通过访问路径来获取节点
Lee坚武
2020/04/10
2.8K0
Cocos Creator基础教程(7)—场景切换
在Cocos Creator中切换游戏场景可以像切换幻灯片页面一样简单,这次教程我们稍微进阶一点点,带着大家编写这个场景切换组件。
张晓衡
2019/09/11
3.7K0
Cocos Creator基础教程(7)—场景切换
[Cocos Creator] 制作简版消消乐(三):实现方块的生成与交换
在上一篇文章中我们实现部分基础组件和管理脚本,那么本篇文章将和大家一起实现方块的生成与交换的逻辑。
陈皮皮
2020/07/10
2.3K1
[Cocos Creator] 制作简版消消乐(三):实现方块的生成与交换
CocosCreator常用API函数库(一)_基础入门
给sprite动态改变图片 首先将存放图片最外层文件夹命名为resources changeBj: function(){ var url = 'globalUI/video/gVideoPlayClick'; var _this = this; cc.loader.loadRes(url,cc.SpriteFrame,function(err,spriteFrame){ _this.isPlay.spriteFrame = spriteFrame; }); } ****跳转**** cc.direct
bering
2019/12/02
1K0
Cocos Creator实现左右跳游戏
游戏开始后,点击屏幕左右两侧,机器人朝左上方或右上方跳一步,如果下一步有石块,成功得1分,否则游戏结束。
一枚小工
2019/09/27
1.3K0
Cocos Creator实现左右跳游戏
【干货】Cocos Creator制作一个微信小游戏(下)
| 导语 微信小游戏都火成这样了,为什么不尝试一下? 我们的目标是使用Cocos Creator从零开始制作一个小游戏,并放到微信上玩。 上文链接:Cocos Creator制作一个微信小游戏(上) 四、游戏逻辑 开始游戏菜单逻辑 在Script文件夹上右键-新建-JavaScript,创建一个名字为Menu的代码文件。 双击一下资源管理器中的Menu场景,再在层级管理器中单击一下Canvas节点,显示节点的属性检查器,然后把Script目录中的Menu代码文件搬去到属性检查器中,以实现代码和场景的绑定。
腾讯NEXT学位
2018/12/04
6.1K2
【干货】Cocos Creator制作一个微信小游戏(下)
Cocos Creator常见问题汇总
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
bering
2019/12/03
2.3K0
等了那么久,终于等到新游戏啦!大炮英雄Cocos Creator实现,关注获取代码!
摆放一个背景图,在背景图上添加背景地面、开始按钮、4个角色选择按钮、游戏logo。
张晓衡
2019/10/22
1.1K0
等了那么久,终于等到新游戏啦!大炮英雄Cocos Creator实现,关注获取代码!
Creator MVVM方案—为人生节省时间!
核心脚本文件存放在 assets\Script\modelView 路径,要使用必须全部引入
张晓衡
2019/09/11
1.6K0
Creator MVVM方案—为人生节省时间!
网页|利用progress实现进度条效果
在加载网页时,如在打开谷歌、百度时,当网速较低时浏览器地址栏的下方就会出现蓝色的进度条,而不是在地址栏里面出现进度条。通过进度条可以让用户比较准确判断网页加载的进度,决定是否继续加载。但是现在运用最多的应该是文件下载的时候(如视频文件、音频文件等),用来显示下载进度。
算法与编程之美
2020/04/22
2.2K0
用 Cocos Creator 制作平台跳跃游戏
平台跳跃类游戏如《超级马里奥》《Celeste蔚蓝》等,非常考验玩家的操作和判断,有着非常本真的游戏乐趣。这类游戏乍一看,挺容易做的,但是要做好却不太容易。今天,我将使用 Cocos Creator v2.1.2 演示如何灵活快速地使用 Cocos Creator 来制作这类经典的横版平台跳跃类游戏,主要目的是帮助大家熟悉组件的用法,横版游戏实现方法很多,这里不做讨论!
一枚小工
2020/03/02
2.5K0
Cocos Creator 实现左右跳游戏
游戏开始后,点击屏幕左右两侧,机器人朝左上方或右上方跳一步,如果下一步有石块,成功得1分,否则游戏结束。
张晓衡
2019/09/12
8740
Cocos Creator 实现左右跳游戏
HarmonyOS NEXT实战:进度条
##HarmonyOS Next实战##HarmonyOS SDK应用服务##教育##
中雨
2025/06/26
760
[Cocos Creator] 微信小游戏接入好友排行榜
对于一个微信小游戏来说,好友排行榜绝对是必不可少的功能,能一定程度上增加玩家的战斗力和活跃度,实实在在地增加小游戏的曝光量。
陈皮皮
2020/07/10
3.5K3
Cocos Creator之访问节点和组件
函数可以直接传入一个类名(对用户定义的组件而言,类名就是脚本的文件名,并且区分大小写。):
李小白是一只喵
2021/04/28
1.9K0
Cocos Creator之访问节点和组件
cocos creator编写2048小游戏,发微信小游戏
我们把44的数组和4*4的sprite对应起来。 当数组为0的时候,sprite就为空白。当数组不为0,sprite就显示对应的数字sprite。 只需要动态控制好sprite的变化就行。
全栈程序员站长
2021/04/07
1.3K0
在 Cocos Creator 中优雅且高效地管理弹窗
弹窗对于我们来说应该一点都不陌生,无论是在网页上,APP 上还是在游戏中都非常的常见。
陈皮皮
2020/11/05
2.2K0
好用的jQuery工作进度条
对于进度条,在HTML5下有个新标签就是用来呈现任务的进度,鉴于目前很多旧式浏览器还不完全支持HTML5,大家都喜欢用javascript和css实现进度条的功能。上周我在做OA里面的任务管理时,通过比较jQuery UI自带的[URL=http://jqueryui.com/progressbar]progress bar[/URL]还有jQuery easyui中的[URL=http://www.jeasyui.com/documentation/progressbar.php]progress bar[/URL],发现都不太符合我的需求,最后找到一个特别简单的实现,只需几行代码即可,读懂英文的看这里[URL=http://workshop.rs/2012/12/animated-progress-bar-in-4-lines-of-jquery/]ANIMATED PROGRESS BAR IN 4 LINES OF JQUERY[/URL],也可以看GitHub上的网址:[URL=https://github.com/kopipejst/progressbar]https://github.com/kopipejst/progressbar[/URL]
崔文远TroyCui
2019/02/26
1.1K0
Cocos Creator之脚本使用资源
在 Cocos Creator 中,使用场景文件名(不包含扩展名)来索引指代场景。并通过以下接口进行加载和切换操作:
李小白是一只喵
2021/04/30
1.1K0
Cocos Creator之脚本使用资源
推荐阅读
相关推荐
cocos creator实现自定义进度条
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验