2019年12月4日

egret基础-图片加载的两种方式

作者 admin

第一种方法->
直接新建一个bitmap组件,通过RES模块进行load,
之后进行渲染纹理,解析纹理后进行纹理替换并返回给对象。

//调用方法

let iconPic: egret.Bitmap = this.createBitmapByName('egret_icon_png');
this.addChild(iconPic);

//返回一个新的图片纹理

private createBitmapByName(name: string): egret.Bitmap {
let result = new egret.Bitmap();
let texture: egret.Texture = RES.getRes(name);
result.texture = texture;
return result;
}

第二种方法->

//手动加载图片,之后添加到bitmap容器内,添加到舞台上
private loadBitMap() {
var imgLoader: egret.ImageLoader = new egret.ImageLoader;
imgLoader.once(egret.Event.COMPLETE, this.imgLoadHandler, this);
imgLoader.load("resource/assets/egret_icon.png");
}

private imgLoadHandler(evt: egret.Event): void {
let loader: egret.ImageLoader = evt.currentTarget;
let bmd: egret.BitmapData = loader.data;
//创建纹理对象
let texture = new egret.Texture();
texture.bitmapData = bmd;
let bmp: egret.Bitmap = new egret.Bitmap(texture);
this.addChild(bmp);
}

。。。第二种方法在加载过程中能够进行监控,可以检测加载状态,各有利弊吧。