[]用最新版本的IDE开发,用AS语言开发,用HttpRequest加载图片报错,用JS语言开发却可以加载

按照 技术文档里的事例:
public function LayaSample() {
//初始化引擎
Laya.init(1136, 640);
var sp:Sprite = new Sprite();
var xhr:HttpRequest = new HttpRequest();
xhr.once(Event.COMPLETE,this,completeHandler);
xhr.once(Event.ERROR,this,errorHandler);
xhr.send("res/monkey2.png","","get","arraybuffer");
}
private function completeHandler(data:Object):void
{
//加载完成返回的data是arraybuffer;
//.......这里处理我们加密的图片数据,假设我们的图片加密数据是在图片的前面写入了四个字节的数据
//.......解密逻辑开始处理数据。
var byte:Byte = new Byte(data);//Byte数组接收arraybuffer
byte.writeArrayBuffer(data,4);//从第四个字节开始读取数据
var blob:Object = new Browser.window.Blob([byte.buffer], { type: "image/png" });
var url:String = Browser.window.URL.createObjectURL(blob);//创建一个url对象;
////我们先用第一种方式显示图片到舞台;
var sp:Sprite = new Sprite();
sp.loadImage(url);
Laya.stage.addChild(sp);//添加到舞台
}
private function errorHandler(e:Object):void
{
}
是无法显示图片的
 
而用JS开发,用JS的事例,却是可以显示的
已邀请:

Monica - 知识达人

赞同来自: alex2017

我这边测试是没有问题的,如果你这边没有对图片进行加密的话是不需要写这句代码的
byte.writeArrayBuffer(data,4);//从第四个字节开始读取数据
你可以先把这个注释掉看下,如果还有问题的话麻烦上传一个可以运行的例子,我们看下

alex2017

赞同来自:

嗯,删掉那一句就可以了,谢谢

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作