我在从外部源加载图像时遇到问题(这是有效的,但我们将服务器更改为https并进行了一些调整)。 现在,当我加载图像时,没有错误,但宽度,高度都是0.此外,图像为空白。 我尝试使用此脚本加载一些随机的互联网图像,它工作正常。但是使用原始 - (https://www.lovemarks.co/images/be50fe37eac192fb7c0d17353f5ef993a.jpg) - 它不起作用。
var somethingLoaded:Boolean = true;
var actualPic:*;
var pictLdrX:Loader = new Loader();
var pictURLX:String = 'https://www.lovemarks.co/images/be50fe37eac192fb7c0d17353f5ef993a.jpg';
var pictURLReqX:URLRequest = new URLRequest(pictURLX);
var loaderContext:LoaderContext = new LoaderContext();
pictLdrX.load(pictURLReqX);
pictLdrX.contentLoaderInfo.addEventListener(Event.INIT , loadedRemember)
function loadedRemember(event:Event){
var targetLoader:Loader = Loader(event.target.loader);
var newmc:MovieClip = new MovieClip();
addChild(newmc);
newmc.addChild(targetLoader.content);
newmc.x = -targetLoader.width/2;
newmc.y = -targetLoader.height/2;
trace ('w+'+targetLoader.width);
trace ('h+'+targetLoader.height);
trace ('x+'+newmc.x);
trace ('y+'+newmc.y);
}
答案 0 :(得分:0)
这样做的方法是首先听取Event.COMPLETE
而不是Event.INIT
:
pictLdrX.contentLoaderInfo.addEventListener(Event.COMPLETE , loadedRemember);
然后,不要在处理程序中引用实际的加载器,而是直接引用图像,方法是先将Event.target.content
转换为Bitmap
:
function loadedRemember(event:Event)
{
trace("loadedRemember()");
var newmc:Bitmap = Bitmap(event.target.content);
addChild(newmc);
// Your math to center may need to be adjusted
// to account for such a big image size
newmc.x = -newmc.width/2;
newmc.y = -newmc.height/2;
trace ('w+'+newmc.width + '\nh+'+newmc.height + '\nx+'+newmc.x + '\ny+'+newmc.y);
}
另外,检查输出窗口中与跨域相关的任何安全错误。