cocos creator UI节点 ProgressBar 进度条基础应用

本文详细介绍了在Cocos2d-x中创建和使用进度条的方法,包括进度条节点的创建、脚本绑定、进度条的增减及计时器函数的应用。通过实例演示如何让进度条缓慢增加或减少,适用于游戏开发初学者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.创建进度条节点

在cocos画布下创建一个进度条节点,进度条的节点中会带有进度条组件。

至于进度条的样式需要在进度条节点的属性中进行调整

2绑定脚本和进度条

在canvas画布的属性挂载进度条相应的脚本,要在脚本中生命属性进度条,并把进度条节点拖进画布属性中对应的上面。

我这里创建了one.js 作为进度条的脚本,并绑定了。

在属性中timeCount属性是生命自己需要多长时间的,  最大是60秒。

绑定完毕

3.进度条缓慢增加

首先在应用进度条中不要把进度条放进update函数中,因为更新函数中每秒运行60次,

放进start 开始函数中比较好

// 进度条增加 
this.tmpTimeCount = 0;
        this.callback = function () {
            this.tmpTimeCount += 0.1;
            // 判断进度条的比例
            this.jindutiao1.progress = this.tmpTimeCount / this.timeCount;
        };
        if (this.jindutiao1) {
            // 计时器函数
            this.schedule(this.callback, 0.1, this.timeCount / 0.1, 0)
        }

4.计时器函数

this.schedule(this.callback, 0.1, this.timeCount / 0.1, 0)

以上述的计时器为例,这个计时器是cocos 提供的函数,里面有四个参数

    // 参数1.调用执行的回调函数

    // 参数2.每间隔多长时间执行一次,单位秒

    // 参数3.这个计时器执行多少次

    // 参数4.延迟的时间,单位秒

5.进度条减少,和点击减少

 // 进度条缓慢减少
        this.tmpTimeCount1 = 1;
        this.callback = function () {
            this.tmpTimeCount1 -= 0.01;
            // 判断进度条的比例,缓慢减少的话,以1为总,来确定自己的时间
            this.jindutiao2.progress = this.tmpTimeCount1;
        };
        if (this.jindutiao2) {
            this.schedule(this.callback, 0.1, this.tmpTimeCount1 / 0.01, 0)
        }



jianshao(){
        if(!this.jindutiao3.progress<=0){
            this.jindutiao3.progress -=0.1
        }else{
            console.log("进度条已为0")
            return
        }
    }

 

尾语

进度条这一个知识点,基础应用结束,里面没有添加热河样式,炫酷华丽的进度条一般都是应用图片处理的显隐方式进行呈现。

每天进步一点点,每天积累一个知识点将是你最大的进步。

最后很喜欢的一首歌曲送给大家和我自己。 还未结束,你还未败.

梦回当年古战场

一身傲骨被模仿

帝王血 在流淌

塑造不败封神榜

封神榜 留我名

漫天风雪随风停

........

 

 

 

### 创建和自定义进度条组件 #### 使用 `cc.ProgressBar` 实现基本进度条功能 为了在 Cocos Creator 中创建并自定义进度条组件,可以利用内置的 `cc.ProgressBar` 组件。此组件允许开发者轻松地展示线性的进度变化情况[^4]。 ```javascript // 创建一个新的脚本文件 ProgressBarController.js 并挂载到合适的节点上 cc.Class({ extends: cc.Component, properties: { progressBar: { default: null, type: cc.ProgressBar // 关联进度条组件 }, barSprite: { default: null, type: cc.Sprite // 进度条内部填充部分所使用的精灵图 } }, onLoad() { this.progressBar.progress = 0; let spriteFrame = new cc.SpriteFrame('path/to/your/sprite'); // 替换为实际路径 this.barSprite.spriteFrame = spriteFrame; // 设置初始状态和其他配置项... }, updateProgress(value) { if (value >= 0 && value <= 1) { this.progressBar.progress = value; } } }); ``` 上述代码展示了如何通过 JavaScript 编写一个简单的控制器类来管理和更新进度条的状态。这里的关键在于正确设置 `progressBar` 和 `barSprite` 属性,并提供方法去动态调整进度值。 #### 自定义外观与行为 对于更复杂的定制需求,比如改变默认样式或增加额外的功能逻辑,则可能需要进一步扩展基础组件: - **修改视觉效果**:可以通过编辑 `.cson` 文件中的设计稿数据或是直接操作 DOM 元素来进行界面美化工作; - **增强交互体验**:添加事件监听器响应用户的点击、拖拽等动作,从而触发相应的业务处理流程; - **优化性能表现**:考虑缓存机制减少不必要的计算开销,以及合理安排异步任务避免阻塞主线程运行; 这些高级特性通常涉及到更多关于 UI 设计原则和技术细节的知识点[^2]。 #### 配置依赖关系 如果希望确保每次实例化此类时都附带特定类型的子组件(如 `cc.Sprite`),那么可以在定义阶段就指明这种约束条件: ```javascript @requireComponent(cc.Sprite) class CustomizedProgressBar extends cc.Component {} ``` 这样做不仅简化了开发过程中的调试难度,同时也提高了项目的可维护性和健壮性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值