Actionscript 3 As3加载空白图像
我从外部源加载图像时遇到问题(这是可行的,但我们将服务器更改为https并进行了一些调整)。 现在,当我加载图像时,没有错误,但是宽度和高度都是0。图像也是空白的。 我试着用这个脚本加载一些随机的互联网图像,效果很好。然而,对于原版-()-它不起作用Actionscript 3 As3加载空白图像,actionscript-3,flash,Actionscript 3,Flash,我从外部源加载图像时遇到问题(这是可行的,但我们将服务器更改为https并进行了一些调整)。 现在,当我加载图像时,没有错误,但是宽度和高度都是0。图像也是空白的。 我试着用这个脚本加载一些随机的互联网图像,效果很好。然而,对于原版-()-它不起作用 var somethingLoaded:Boolean = true; var actualPic:*; var pictLdrX:Loader = new Loader(); var pictURLX:String = 'https://www.
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);
}
方法是首先侦听
Event.COMPLETE
而不是Event.INIT
:
pictLdrX.contentLoaderInfo.addEventListener(Event.COMPLETE , loadedRemember);
然后,不要引用处理程序中的实际加载程序,只需通过首先将事件.target.content
转换为位图来直接引用图像即可:
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);
}
另外,在输出窗口中检查与跨域相关的任何安全错误。是否都在同一个域上提供服务?(和相同的协议?)flash有跨源限制。您必须上载XML文件以允许访问。除此之外,请尝试使用flash player的开发人员版本检查错误。尝试侦听加载某些内容时可能被调度的无数事件。下面给出了一个这样做的示例。