Image 加载和加载;在ActionScript中显示图像

Image 加载和加载;在ActionScript中显示图像,image,actionscript,load,sprite,Image,Actionscript,Load,Sprite,我打字的手指很绿,所以,请原谅我的问题。从示例中学习,我一直在尝试在ActionScript中加载和显示图像。这是我正在研究的原始示例: ... ... var bmd2:BitmapData = bmd.clone(); var infoBM:Bitmap = new Bitmap(bmd2); var back:MovieClip = new MovieClip(); back.name = "back"; back.rotationX = -90; var bSurface:MovieCl

我打字的手指很绿,所以,请原谅我的问题。从示例中学习,我一直在尝试在ActionScript中加载和显示图像。这是我正在研究的原始示例:

...
...
var bmd2:BitmapData = bmd.clone();
var infoBM:Bitmap = new Bitmap(bmd2);
var back:MovieClip = new MovieClip();
back.name = "back";
back.rotationX = -90;
var bSurface:MovieClip = new MovieClip();
bSurface.y = int(...
bSurface.z = int(...
bSurface.addChild(infoBM);

var overlay:Sprite = new Sprite();
overlay.graphics.beginFill(...);
overlay.graphics.drawRect(0, 0, bSurface.width, bSurface.height);
overlay.graphics.endFill();
bSurface.addChild(overlay);
back.addChild(bSurface);

var tf:TextField = new TextField();
tf...
tf...
tf...
bSurface.addChild(tf);
...
...
我正在尝试将图像放置到b表面上,而不是文本块上,如上所述。到目前为止,我已经想到:

var iSprite:Sprite = new Sprite();
var iMatrix:Matrix = new Matrix();
var bmData:BitmapData;
bmData = new BitmapData(surface.width, surface.height, true, 123);

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
loader.load(new URLRequest("c:\pixlr.png"));
function onComplete (event:Event):void
  {
    bmData = Bitmap(LoaderInfo(event.target).content).bitmapData;
  }

iMatrix.tx = 0;
iMatrix.ty = 0;
iSprite.graphics.beginBitmapFill(bmData, iMatrix, false, true);
iSprite.graphics.drawRect(0, 0, surface.width, surface.height);
iSprite.graphics.endFill();

surface.addChild(iSprite);
……和:

var bmData:BitmapData;
bmData = new BitmapData(surface.width, surface.height, true, 123);


var loader:Loader = new Loader();
var location:URLRequest = new URLRequest("c:\pixlr.png");
loader.load(location);
bmData = Bitmap(loader.content).bitmapData;

surface.addChild(bmData);
但是没有成功。我已经失败了好几天了,非常感谢你的帮助

提前感谢大家,


索菲亚

你把事情弄得比需要的更复杂了。加载程序是一个显示对象。因此,当您想加载图像时,只需执行以下操作:

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
loader.load(new URLRequest("c:\pixlr.png"));
addChild(loader);

您可以使用onComplete事件来处理您可能想要进行的任何大小调整、定位或淡入

你好,整形外科医生,谢谢你的解决方案;它工作得很好。但是,我必须将图像文件放在同一个目录中才能工作;文件路径失败有什么原因吗?此外,即使没有事件侦听器,您的示例也运行良好;这是干什么用的,不用它使用装载机安全吗?再次感谢你。重要的是,在经历了无数次无用的、痛苦的、无知的几个小时的尝试和错误之后,它现在可以工作了。图像路径是“C:\pixlr.png”-您在上面的代码中指定了该路径。可以使用绝对路径或相对路径。2.事件侦听器不是必需的。它告诉你图像加载的时间,这样你就不会在图像加载之前打电话给它,而且一旦图像加载,你就可以做一些事情,比如淡入。你真是太棒了。最重要的是,你解决了我数天来一直在努力解决的问题,为此,我真诚地感谢你。