egret.globalFunction
公共方法
方法 |
---|
assert(assertion: boolean,message: string,...optionalParams: any[]): void 判断参数assertion是否为true,若为false则抛出异常并且在console输出相应信息,反之什么也不做 |
callLater(method: Function,thisObject: any,...args): void 延迟函数到屏幕重绘前执行 |
error(message: any,...optionalParams: any[]): void 输出一个错误信息到控制台 |
getDefinitionByName(name: string): any 返回 name 参数指定的类的类对象引用 |
getImplementation(interfaceName: string): any 获取一个接口实现 |
getOption(key: string): string 获取浏览器或者Runtime参数,如果没有设置返回空字符串在浏览器中相当于获取url中参数,在Runtime获取对应setOption参数 |
getQualifiedClassName(value: any): string 返回对象的完全限定类名 |
getQualifiedSuperclassName(value: any): string 返回 value 参数指定的对象的基类的完全限定类名 |
getTimer(): number 用于计算相对时间 |
hasDefinition(name: string): boolean 检查指定的应用程序域之内是否存在一个公共定义 |
is(instance: any,typeName: string): boolean 检查指定对象是否为 Egret 框架内指定接口或类或其子类的实例 |
log(message: any,...optionalParams: any[]): void 输出一个日志信息到控制台 |
registerClass(classDefinition: any,className: string,interfaceNames: string[]): void 为一个类定义注册运行时类信息,用此方法往类定义上注册它自身以及所有接口对应的字符串 |
registerFontMapping(name: string,path: string): void 注册字体映射 |
registerImplementation(interfaceName: string,instance: any): void 注册一个接口实现 |
runEgret(options:runEgretOptions): void egret工程入口函数 |
startTick(callBack:(timeStamp: number)=> boolean,thisObject: any): void 注册并启动一个计时器,通常会以60FPS的速率触发回调方法,并传入当前时间戳 |
stopTick(callBack:(timeStamp: number)=> boolean,thisObject: any): void 停止之前用 startTick() 方法启动的计时器 |
superGetter(currentClass: any,thisObj: any,type: string): any 获取父类的getter属性值 |
superSetter(currentClass: any,thisObj: any,type: string,...values) 调用父类的setter属性,代替其他语言的写法,如 super.alpha = 1; |
toColorString(value: number): string 转换数字为颜色字符串 |
updateAllScreens(): void 刷新屏幕显示 |
warn(message: any,...optionalParams: any[]): void 输出一个警告信息到控制台 |
方法详细信息
assert()
public assert(assertion: boolean,message: string,...optionalParams: any[]): void
判断参数assertion是否为true,若为false则抛出异常并且在console输出相应信息,反之什么也不做。
- 支持版本:all
- 运行平台:Web,Native
- 参数
callLater()
public callLater(method: Function,thisObject: any,...args): void
延迟函数到屏幕重绘前执行。
- 支持版本:Egret 2.4
- 运行平台:Web,Native
- 参数
//Example:
/*
* 以下示例演示了使用 callLater 实现延迟函数。
*/
class callLaterExample extends egret.DisplayObjectContainer {
private label:egret.TextField;
public constructor() {
super();
//创建 TextField 对象
this.label = new egret.TextField();
//设置文本颜色
this.label.textColor = 0xFF0000;
//设置字号
this.label.size = 30;
//设置显示文本
this.label.text = "Hello Egret";
//添加到显示列表
this.addChild(this.label);
egret.log("beforeCallLater");
egret.callLater(this.onCallLater, this);
egret.log("afterCallLater");
}
private onCallLater():void {
egret.log("onCallLater");
this.label.text = "callLater";
}
}
error()
public error(message: any,...optionalParams: any[]): void
输出一个错误信息到控制台。
getDefinitionByName()
public getDefinitionByName(name: string): any
返回 name 参数指定的类的类对象引用。
- 支持版本:Egret 2.4
- 运行平台:Web,Native
- 参数
- name: string - 类的名称。
//Example:
/*
* 以下示例演示了 getDefinitionByName 的使用方式。
*/
class getDefinitionByNameExample extends egret.DisplayObjectContainer {
public constructor() {
super();
egret.log(egret.getDefinitionByName("egret.DisplayObject"));//egret.DisplayObject对象
egret.log(egret.getDefinitionByName("egret.Nothing"));//null
var cls:any = egret.getDefinitionByName("egret.Shape");
var shape:egret.Shape = new cls();
shape.graphics.beginFill(0xff0000);
shape.graphics.drawRect(0, 0, 100, 100);
shape.graphics.endFill();
shape.x = shape.y = 100;
this.addChild(shape);
}
}
getImplementation()
public getImplementation(interfaceName: string): any
获取一个接口实现。此方法通常由框架内部调用。获取项目注入的自定义实现实例。
支持版本:Egret 3.2.1
运行平台:Web,Native
参数
- interfaceName: string - 要获取的接口名称。例如:"eui.IAssetAdapter","eui.Theme"
返回:返回实现此接口的实例。
getOption()
public getOption(key: string): string
获取浏览器或者Runtime参数,如果没有设置返回空字符串在浏览器中相当于获取url中参数,在Runtime获取对应setOption参数
- 支持版本:Egret 2.4
- 运行平台:Web,Native
- 参数
- key: string - 参数key
getQualifiedClassName()
public getQualifiedClassName(value: any): string
返回对象的完全限定类名。
支持版本:Egret 2.4
运行平台:Web,Native
参数
- value: any - 需要完全限定类名称的对象,可以将任何 JavaScript 值传递给此方法,包括所有可用的 JavaScript 类型、对象实例、原始类型(如number)和类对象
返回:包含完全限定类名称的字符串。
//Example:
/*
* 以下示例演示了 getQualifiedClassNameExample 的使用方式。
*/
class getQualifiedClassNameExample extends egret.DisplayObjectContainer {
public constructor() {
super();
egret.log(egret.getQualifiedClassName(egret.DisplayObject));//egret.DisplayObject
egret.log(egret.getQualifiedClassName(window));//Window
}
}
getQualifiedSuperclassName()
public getQualifiedSuperclassName(value: any): string
返回 value 参数指定的对象的基类的完全限定类名。
支持版本:Egret 2.4
运行平台:Web,Native
参数
- value: any - 需要取得父类的对象,可以将任何 JavaScript 值传递给此方法,包括所有可用的 JavaScript 类型、对象实例、原始类型(如number)和类对象
返回:完全限定的基类名称,或 null(如果不存在基类名称)。
//Example:
/*
* 以下示例演示了 getQualifiedClassNameExample 的使用方式。
*/
class getQualifiedSuperClassNameExample extends egret.DisplayObjectContainer {
public constructor() {
super();
var sp1 = new egret.Sprite();
var sp2 = new egret.Shape();
egret.log(egret.getQualifiedSuperclassName(sp1));//egret.DisplayObjectContainer
egret.log(egret.getQualifiedSuperclassName(sp2));//egret.DisplayObject
}
}
getTimer()
public getTimer(): number
用于计算相对时间。此方法返回自启动 Egret 框架以来经过的毫秒数。
- 支持版本:Egret 2.4
- 运行平台:Web,Native
- 返回:启动 Egret 框架以来经过的毫秒数。
//Example:
/*
* 以下示例演示了使用 getTimer 获取启动 Egret 引擎以来经过的毫秒数。
*/
class getTimerExample extends egret.DisplayObjectContainer {
public constructor() {
super();
egret.Tween.get(this, {loop:true}).wait(1000).call(function (){
egret.log(egret.getTimer());
});
}
}
hasDefinition()
public hasDefinition(name: string): boolean
检查指定的应用程序域之内是否存在一个公共定义。该定义可以是一个类、一个命名空间或一个函数的定义。
支持版本:Egret 2.4
运行平台:Web,Native
参数
- name: string - 定义的名称。
返回:公共定义是否存在
//Example:
/*
* 以下示例演示了 hasDefinition 的使用方式。
*/
class hasDefinitionExample extends egret.DisplayObjectContainer {
public constructor() {
super();
egret.log(egret.hasDefinition("egret.DisplayObject"));//true
egret.log(egret.hasDefinition("egret.Nothing"));//false
}
}
is()
public is(instance: any,typeName: string): boolean
检查指定对象是否为 Egret 框架内指定接口或类或其子类的实例。此方法与使用 instanceOf 关键字相比具有更高的性能,并且能判断接口的实现。
支持版本:Egret 2.4
运行平台:Web,Native
参数
返回:返回true表示当前对象是指定类或接口的实例。
//Example:
let instance = new egret.Sprite();
egret.log(egret.is(instance,"egret.Sprite")) //true
egret.log(egret.is(instance,"egret.DisplayObjectContainer")) //true
egret.log(egret.is(instance,"egret.Bitmap")) //false
log()
public log(message: any,...optionalParams: any[]): void
输出一个日志信息到控制台。
registerClass()
public registerClass(classDefinition: any,className: string,interfaceNames: string[]): void
为一个类定义注册运行时类信息,用此方法往类定义上注册它自身以及所有接口对应的字符串。在运行时,这个类的实例将可以使用 egret.is() 方法传入一个字符串来判断实例类型。
- 支持版本:Egret 2.4
- 运行平台:Web,Native
- 参数
//Example:
以下代码演示了如何为EventDispatcher类注册运行时类信息并判断类型:
//为egret.EventDispatcher类注册运行时类信息,由于它实现了IEventDispatcher接口,这里应同时传入接口名对应的字符串。
egret.registerClass(egret.EventDispatcher,"egret.EventDispatcher",["egret.IEventDispatcher"]);
let dispatcher = new egret.EventDispatcher();
egret.log(egret.is(dispatcher, "egret.IEventDispatcher")); //true。
egret.log(egret.is(dispatcher, "egret.EventDispatcher")); //true。
egret.log(egret.is(dispatcher, "egret.Bitmap")); //false。
注意:若您使用 TypeScript 来编写程序,egret 命令行会自动帮您生成类信息注册代码行到最终的 Javascript 文件中。因此您不需要手动调用此方法。
registerFontMapping()
public registerFontMapping(name: string,path: string): void
注册字体映射
registerImplementation()
public registerImplementation(interfaceName: string,instance: any): void
注册一个接口实现。
- 支持版本:Egret 3.2.1
- 运行平台:Web,Native
- 参数
runEgret()
public runEgret(options:runEgretOptions): void
egret工程入口函数
- 支持版本:all
- 运行平台:Web,Native
- 参数
- options:runEgretOptions - 一个可选对象,包含初始化Egret引擎需要的参数。
startTick()
public startTick(callBack:(timeStamp: number)=> boolean,thisObject: any): void
注册并启动一个计时器,通常会以60FPS的速率触发回调方法,并传入当前时间戳。注意:注册后将会持续触发回调方法,若要停止回调,需要手动调用stopTick()方法。
- 支持版本:Egret 2.4
- 运行平台:Web,Native
- 参数
stopTick()
public stopTick(callBack:(timeStamp: number)=> boolean,thisObject: any): void
停止之前用 startTick() 方法启动的计时器。
- 支持版本:Egret 2.4
- 运行平台:Web,Native
- 参数
superGetter()
public superGetter(currentClass: any,thisObj: any,type: string): any
获取父类的getter属性值。代替其他语言的写法,如 super.alpha;
支持版本:all
运行平台:Web,Native
参数
返回:父类返回的值
superSetter()
public superSetter(currentClass: any,thisObj: any,type: string,...values)
调用父类的setter属性,代替其他语言的写法,如 super.alpha = 1;
- 支持版本:all
- 运行平台:Web,Native
- 参数
toColorString()
public toColorString(value: number): string
转换数字为颜色字符串
支持版本:Egret 2.4
运行平台:Web,Native
参数
- value: number - 颜色值,例如 0xffffff
返回:颜色字符串,例如"#ffffff"。
//Example:
/*
* 使用以下代码将红色进行进制转换
*/
class toColorStringExample extends egret.DisplayObjectContainer {
public constructor() {
super();
var color1: number = 0xFF0000;
egret.log(color1); //16711680
egret.log(egret.toColorString(color1)); //#FF0000
}
}
updateAllScreens()
public updateAllScreens(): void
刷新屏幕显示
- 支持版本:all
- 运行平台:Web,Native
warn()
public warn(message: any,...optionalParams: any[]): void
输出一个警告信息到控制台。