Actionscript 3 Can';在swf中加载图像
将图像加载到swf文件时出错。这是我的密码:Actionscript 3 Can';在swf中加载图像,actionscript-3,bitmap,loader,Actionscript 3,Bitmap,Loader,将图像加载到swf文件时出错。这是我的密码: private var loader:Loader = new Loader( ); public function Battle() { loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); loader.load(new URLRequest("http://www.google.com.vn/imag
private var loader:Loader = new Loader( );
public function Battle()
{
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
loader.load(new URLRequest("http://www.google.com.vn/images/srpr/logo4w.png"));
}
private function onComplete(event:Event):void
{
addChild(loader);
}
很好,谷歌的标志出现了。但我需要操纵图像加载的像素。我添加了一个图像位图:
private var loader:Loader = new Loader( );
private var image:Bitmap;
public function Battle()
{
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
loader.load(new URLRequest("http://www.google.com.vn/images/srpr/logo4w.png"));
}
private function onComplete(event:Event):void
{
image = Bitmap(loader.content);
this.addChild(image);
}
什么也没有出现。我在网上找不到任何解决办法。我尝试检测:
private function onComplete(event:Event):void
{
image = Bitmap(loader.content);
//after above line, rest of function never run
addChild(image); // <-- no run @@
trace("this no run"); // <-- no run @@
}
私有函数onComplete(事件:事件):void
{
图像=位图(loader.content);
//在上述行之后,函数的其余部分永远不会运行
addChild(image);//如果图像与应用程序位于不同的域中,则无法访问图像的像素数据(并且没有crossdomain
policy文件)<1您需要在Google站点上使用crossdomain.xml:)
2您需要使用检查策略:
var context:LoaderContext = new LoaderContext();
context.checkPolicyFile = true;
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
loader.load(new URLRequest("http://www.google.com.vn/images/srpr/logo4w.png"), context);
但只有在谷歌添加跨域名的情况下,它才能起作用
3您可以在您的域上使用小型服务器端代理。Flash调用代理以获取包含url的文件,代理下载并返回Flash…您是否尝试添加其他处理程序,如IOErrorEvent或SecurityErrorEvent?请确保类名和构造函数具有相同的名称(Battle
)。您的代码绝对没有问题。我想您使用的是常规(非调试)版本的Flash player。在调试player中,您将得到一个错误SecurityError:error\2122