文章中心 -> 软件使用

文章正文

 青瓷引擎UI组件怎么用之进度条,由绿盟小编精心整理,从进度条构成Inspector面板说明相关案例等方面为您详细讲解:

进度条qc.ProgressBar分为两种:确定进度不确定进度
同时从外观上,我们提供了水平进度条垂直进度条角度进度条(圆)


  • 进度条构成

    从主菜单(游戏对象/进度条)或工具条上创建进度条对象,得到如下的进度条对象结构:



    ProgressBar - qc.ProgressBar对象,继承于UIImage类型,作为背景图片
    progressArea - qc.Node对象,作为滚动条的显示区域,默认其完全填充满父节点ProgressBar的矩形区域
    sliders - qc.UIImage对象,作为前景图片滑块对象,设置到ProgressBar.sliders属性上
    通过如下代码可实现和编辑器上创建的进度条同样的效果(当然,你应该在编辑器中直接创建,不用自己写代码实现):

    // 创建滚动条对象
    var progressBar = new qc.ProgressBar(game, parent);

    progressBar.width = 160;
    progressBar.height = 20;

    // 创建滚动区域对象
    var progressArea = game.add.node(progressBar);
    progressArea.name = 'progressArea';
    progressArea.setAnchor(new qc.Point(0, 0), new qc.Point(1, 1));
    progressArea.setStretch(0, 0, 0, 0);
    progressArea.pivotX = progressArea.pivotY = 0.5;

    // 创建滑块对象
    var sliders = game.add.image(progressArea);
    sliders.name = 'sliders';
    sliders.setAnchor(new qc.Point(0, 0), new qc.Point(1, 1));
    sliders.setStretch(0, 0, 0, 0);
    sliders.pivotX = sliders.pivotY = 0.5;
    // 设置滚动条的滑块对象属性
    progressBar.sliders = sliders;

    // 设置滚动条背景图片
    progressBar.texture = game.assets.find('__builtin_resource__');
    progressBar.frame = 'button.png';
    progressBar.imageType = qc.UIImage.IMAGE_TYPE_SLICED;
    progressBar.value = 0.5;

    // 设置滑块对象图片
    sliders.texture = game.assets.find('__builtin_resource__');
    sliders.frame = 'button.png';
    sliders.imageType = qc.UIImage.IMAGE_TYPE_SLICED;

    // 滑块一般设置成和progressBar一样的图片,通过设置colorTint达到灰化效果
    sliders.colorTint = new qc.Color('#E0E0E0');
  • Inspector面板说明



    Sliders: UIImage类型滑块对象,node.sliders = sliders;
    Style: 目前支持三种进度条风格,node.style = ProgressBar.STYLE_HORIZONTAL;
    水平进度条 - ProgressBar.STYLE_HORIZONTAL
    竖直进度条 - ProgressBar.STYLE_VERTICAL
    圆形进度条 - ProgressBar.STYLE_CIRCLE
    Indeterminable: 使用不确定类型,进度条将循环播放,node.indeterminable = true;此时,value值设置无效
    Min Value: 进度最小值,node.minValue = 0.0;
    Max Value: 进度最大值,node.maxValue = 1.0;
    Value: 当前进度值,node.value = 0.3;
    Fixed Size: 滑块所占父亲节点矩形区域百分比,1.0为整个区域,小于0.0表示不固定大小,node.fixedSize = 0.3;
    Loop Time: 循环时间,仅当indeterminable为true时有效,单位毫秒,node.loopTime = 3000;
    Clip Sliders: 是否对进度条滑块进行裁切,一般为圆形进度条时勾选,node.clipSliders = true;
    Show Mode: 显示方式,滑块用来表示已处理的部分,还是表示未处理的部分,node.showMode = ProgressBar.SHOW_PROCESSED;
    ProgressBar.SHOW_PROCESSED
    ProgressBar.SHOW_REMAINED
    Reverse: 是否反方向走进度条,node.reverse = false;
    Start Radian: 圆形进度条时起效,表示起始弧度,node.startRadian = Math.PI;
    End Radian: 圆形进度条时起效,表示结束弧度,node.endRadian = Math.PI;
    Start Angle: 圆形进度条时起效,表示起始角度,node.startAngle = 90;
    End Angle:圆形进度条时起效,表示结束角度,node.endAngle = 90;
  • 案例:

文章来自绿盟(xDowns.com)转载请注明来路。



上一篇文章:青瓷引擎UI组件怎么用之开关和开关组 []