Egret-获取网络图片并展示

获取网络图片

/**获取头像图片 */
let imgLoader: egret.ImageLoader = new egret.ImageLoader();
egret.ImageLoader.crossOrigin = "anonymous";
imgLoader.load(v);
imgLoader.once(egret.Event.COMPLETE, (e: egret.Event) => {
    let texture = new egret.Texture();
    texture.bitmapData = e.currentTarget.data;
    this.avatar.texture = texture;
}, this);

 跨域解决: 

  最后游戏要打包成app时可以直接关闭chrome的跨源策略.

添加 egret.ImageLoader.crossOrigin = "anonymous"; 允许跨域

然后Egret这边另有两个解决方案

.wing/launch.json中 给 chrome的配置加上 --disable-web-security 也就会忽略跨域的安全行问题(在同样基于VSCode的LayaAir中也有用)。
  "runtimeArgs": [
    "--allow-file-access-from-files",
    "--allow-file-access-frome-files",
    " --disable-web-security"
]

如果是基于canvas渲染的游戏,那么可以在index.html中将默认的webgl改为canvas,就不会有这个问题了。

 

posted @ 2020-03-28 17:14  前端法师  阅读(621)  评论(0编辑  收藏  举报