UNPKG

laya-coreui-es

Version:

laya核心库、ui库es版本,剔除了媒体、TTF等功能。基于 LayaAir-release_2.12.0 修改

209 lines (208 loc) 8.32 kB
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; }