跳到主要内容

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
  • 参数
    • assertion: boolean - 一个 boolean 表达式,若结果为false,则抛出错误并输出信息。
    • message: string - 要输出到控制台的信息
    • ...optionalParams: any[]

callLater()

public callLater(method: Function,thisObject: any,...args): void

延迟函数到屏幕重绘前执行。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • method: Function - 要延迟执行的函数
    • thisObject: any - 回调函数的this引用
    • ...args - 函数参数列表
//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

输出一个错误信息到控制台。

  • 支持版本:all
  • 运行平台:Web,Native
  • 参数
    • message: any - 要输出到控制台的信息
    • ...optionalParams: any[]

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
  • 参数

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

  • 参数

    • instance: any - 要判断的实例。
    • typeName: string - 类或接口的完全名称.
  • 返回:返回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

输出一个日志信息到控制台。

  • 支持版本:all
  • 运行平台:Web,Native
  • 参数
    • message: any - 要输出到控制台的信息
    • ...optionalParams: any[]

registerClass()

public registerClass(classDefinition: any,className: string,interfaceNames: string[]): void

为一个类定义注册运行时类信息,用此方法往类定义上注册它自身以及所有接口对应的字符串。在运行时,这个类的实例将可以使用 egret.is() 方法传入一个字符串来判断实例类型。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • classDefinition: any - 要注册的类定义。
    • className: string - 要注册的类名。
    • interfaceNames: string[] - 要注册的类所实现的接口名列表。
    //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

注册字体映射

  • 支持版本:Egret 5.3
  • 运行平台:Web,Native
  • 参数
    • name: string - 要注册的字体名称
    • path: string - 注册的字体地址

registerImplementation()

public registerImplementation(interfaceName: string,instance: any): void

注册一个接口实现。

  • 支持版本:Egret 3.2.1
  • 运行平台:Web,Native
  • 参数
    • interfaceName: string - 注入的接口名称。例如:"eui.IAssetAdapter","eui.Theme"
    • instance: any - 实现此接口的实例。

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
  • 参数
    • callBack:(timeStamp: number)=> boolean - 要执行的回调方法。参数 timeStamp 表示从启动Egret框架开始经过的时间(毫秒)。若回调方法返回值为true,其作用与TimerEvent.updateAfterEvent()类似,将会忽略帧频限制,在此方法处理完成后立即重绘屏幕。
    • thisObject: any - 回调方法的this对象引用。

stopTick()

public stopTick(callBack:(timeStamp: number)=> boolean,thisObject: any): void

停止之前用 startTick() 方法启动的计时器。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • callBack:(timeStamp: number)=> boolean - 要执行的回调方法。参数 timeStamp 表示从启动Egret框架开始经过的时间(毫秒)。若回调方法返回值为true,其作用与TimerEvent.updateAfterEvent()类似,将会忽略帧频限制,在此方法处理完成后立即重绘屏幕。
    • thisObject: any - 回调方法的this对象引用。

superGetter()

public superGetter(currentClass: any,thisObj: any,type: string): any

获取父类的getter属性值。代替其他语言的写法,如 super.alpha;

  • 支持版本:all

  • 运行平台:Web,Native

  • 参数

    • currentClass: any - 当前 class 类名,非字符串
    • thisObj: any - 当前对象。永远都this
    • type: string - 需要调用的getter属性名称
  • 返回:父类返回的值

superSetter()

public superSetter(currentClass: any,thisObj: any,type: string,...values)

调用父类的setter属性,代替其他语言的写法,如 super.alpha = 1;

  • 支持版本:all
  • 运行平台:Web,Native
  • 参数
    • currentClass: any - 当前 class 类名,非字符串
    • thisObj: any - 当前对象。永远都this
    • type: string - 需要调用的setter属性名称
    • ...values

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

输出一个警告信息到控制台。

  • 支持版本:all
  • 运行平台:Web,Native
  • 参数
    • message: any - 要输出到控制台的信息
    • ...optionalParams: any[]