laya-coreui-es
Version:
laya核心库、ui库es版本,剔除了媒体、TTF等功能。基于 LayaAir-release_2.12.0 修改
209 lines (208 loc) • 8.32 kB
TypeScript
import { UIComponent } from "./UIComponent";
import { Image } from "./Image";
import { Handler } from "../utils/Handler";
/**
* 值发生改变后调度。
* @eventType laya.events.Event
*/
/**
* <code>ProgressBar</code> 组件显示内容的加载进度。
* @example <caption>以下示例代码,创建了一个新的 <code>ProgressBar</code> 实例,设置了它的皮肤、位置、宽高、网格等信息,并添加到舞台上。</caption>
* package
* {
* import laya.ui.ProgressBar;
* import laya.utils.Handler;
* public class ProgressBar_Example
* {
* private var progressBar:ProgressBar;
* public function ProgressBar_Example()
* {
* Laya.init(640, 800);//设置游戏画布宽高。
* Laya.stage.bgColor = "#efefef";//设置画布的背景颜色。
* Laya.loader.load(["resource/ui/progress.png", "resource/ui/progress$bar.png"], Handler.create(this, onLoadComplete));//加载资源。
* }
* private function onLoadComplete():void
* {
* progressBar = new ProgressBar("resource/ui/progress.png");//创建一个 ProgressBar 类的实例对象 progressBar 。
* progressBar.x = 100;//设置 progressBar 对象的属性 x 的值,用于控制 progressBar 对象的显示位置。
* progressBar.y = 100;//设置 progressBar 对象的属性 y 的值,用于控制 progressBar 对象的显示位置。
* progressBar.value = 0.3;//设置 progressBar 的进度值。
* progressBar.width = 200;//设置 progressBar 的宽度。
* progressBar.height = 50;//设置 progressBar 的高度。
* progressBar.sizeGrid = "5,10,5,10";//设置 progressBar 的网格信息。
* progressBar.changeHandler = new Handler(this, onChange);//设置 progressBar 的value值改变时执行的处理器。
* Laya.stage.addChild(progressBar);//将 progressBar 添加到显示列表。
* Laya.timer.once(3000, this, changeValue);//设定 3000ms(毫秒)后,执行函数changeValue。
* }
* private function changeValue():void
* {
* trace("改变进度条的进度值。");
* progressBar.value = 0.6;
* }
* private function onChange(value:Number):void
* {
* trace("进度发生改变: value=" ,value);
* }
* }
* }
* @example
* Laya.init(640, 800);//设置游戏画布宽高
* Laya.stage.bgColor = "#efefef";//设置画布的背景颜色
* var res = ["resource/ui/progress.png", "resource/ui/progress$bar.png"];
* Laya.loader.load(res, laya.utils.Handler.create(this, onLoadComplete));//加载资源。
* function onLoadComplete()
* {
* progressBar = new laya.ui.ProgressBar("resource/ui/progress.png");//创建一个 ProgressBar 类的实例对象 progressBar 。
* progressBar.x = 100;//设置 progressBar 对象的属性 x 的值,用于控制 progressBar 对象的显示位置。
* progressBar.y = 100;//设置 progressBar 对象的属性 y 的值,用于控制 progressBar 对象的显示位置。
* progressBar.value = 0.3;//设置 progressBar 的进度值。
* progressBar.width = 200;//设置 progressBar 的宽度。
* progressBar.height = 50;//设置 progressBar 的高度。
* progressBar.sizeGrid = "10,5,10,5";//设置 progressBar 的网格信息。
* progressBar.changeHandler = new laya.utils.Handler(this, onChange);//设置 progressBar 的value值改变时执行的处理器。
* Laya.stage.addChild(progressBar);//将 progressBar 添加到显示列表。
* Laya.timer.once(3000, this, changeValue);//设定 3000ms(毫秒)后,执行函数changeValue。
* }
* function changeValue()
* {
* console.log("改变进度条的进度值。");
* progressBar.value = 0.6;
* }
* function onChange(value)
* {
* console.log("进度发生改变: value=" ,value);
* }
* @example
* import ProgressBar = laya.ui.ProgressBar;
* import Handler = laya.utils.Handler;
* class ProgressBar_Example {
* private progressBar: ProgressBar;
* public ProgressBar_Example() {
* Laya.init(640, 800);//设置游戏画布宽高。
* Laya.stage.bgColor = "#efefef";//设置画布的背景颜色。
* Laya.loader.load(["resource/ui/progress.png", "resource/ui/progress$bar.png"], Handler.create(this, this.onLoadComplete));//加载资源。
* }
* private onLoadComplete(): void {
* this.progressBar = new ProgressBar("resource/ui/progress.png");//创建一个 ProgressBar 类的实例对象 progressBar 。
* this.progressBar.x = 100;//设置 progressBar 对象的属性 x 的值,用于控制 progressBar 对象的显示位置。
* this.progressBar.y = 100;//设置 progressBar 对象的属性 y 的值,用于控制 progressBar 对象的显示位置。
* this.progressBar.value = 0.3;//设置 progressBar 的进度值。
* this.progressBar.width = 200;//设置 progressBar 的宽度。
* this.progressBar.height = 50;//设置 progressBar 的高度。
* this.progressBar.sizeGrid = "5,10,5,10";//设置 progressBar 的网格信息。
* this.progressBar.changeHandler = new Handler(this, this.onChange);//设置 progressBar 的value值改变时执行的处理器。
* Laya.stage.addChild(this.progressBar);//将 progressBar 添加到显示列表。
* Laya.timer.once(3000, this, this.changeValue);//设定 3000ms(毫秒)后,执行函数changeValue。
* }
* private changeValue(): void {
* console.log("改变进度条的进度值。");
* this.progressBar.value = 0.6;
* }
* private onChange(value: number): void {
* console.log("进度发生改变: value=", value);
* }
* }
*/
export declare class ProgressBar extends UIComponent {
/**
* 当 <code>ProgressBar</code> 实例的 <code>value</code> 属性发生变化时的函数处理器。
* <p>默认返回参数<code>value</code> 属性(进度值)。</p>
*/
changeHandler: Handler;
/**@private */
protected _bg: Image;
/**@private */
protected _bar: Image;
/**@private */
protected _skin: string;
/**@private */
protected _value: number;
/**
* 创建一个新的 <code>ProgressBar</code> 类实例。
* @param skin 皮肤地址。
*/
constructor(skin?: string);
/**
* @inheritDoc
* @override
*/
destroy(destroyChild?: boolean): void;
/**
* @inheritDoc
* @override
*/
protected createChildren(): void;
/**
* @copy laya.ui.Image#skin
*/
get skin(): string;
set skin(value: string);
protected _skinLoaded(): void;
/**
* @inheritDoc
* @override
*/
protected measureWidth(): number;
/**
* @inheritDoc
* @override
*/
protected measureHeight(): number;
/**
* 当前的进度量。
* <p><b>取值:</b>介于0和1之间。</p>
*/
get value(): number;
set value(num: number);
/**
* @private
* 更改进度值的显示。
*/
protected changeValue(): void;
/**
* 获取进度条对象。
*/
get bar(): Image;
/**
* 获取背景条对象。
*/
get bg(): Image;
/**
* <p>当前 <code>ProgressBar</code> 实例的进度条背景位图( <code>Image</code> 实例)的有效缩放网格数据。</p>
* <p>数据格式:"上边距,右边距,下边距,左边距,是否重复填充(值为0:不重复填充,1:重复填充)",以逗号分隔。
* <ul><li>例如:"4,4,4,4,1"</li></ul></p>
* @see laya.ui.AutoBitmap.sizeGrid
*/
get sizeGrid(): string;
set sizeGrid(value: string);
/**
* @inheritDoc
* @override
*/
set width(value: number);
/**
* @inheritDoc
* @override
*/
get width(): number;
/**
* @inheritDoc
* @override
*/
set height(value: number);
/**
* @inheritDoc
* @override
*/
get height(): number;
/**
* @inheritDoc
* @override
*/
set dataSource(value: any);
/**
* @inheritDoc
* @override
*/
get dataSource(): any;
}