ActionScript 3.0将外部图像加载到容器动画片段中?

时间:2011-04-29 04:41:03

标签: flash actionscript-3 filereference addchild

我是AS3的新手,我需要一些关于Senocular Transform Tool(AS3版本)的帮助

我在加载外部图像时遇到问题,以便我可以使用Senocular Transform Tool类进行转换。

我已设法加载图片,但转换类似乎不想抓住它。

var fileRef:FileReference = new FileReference();
MovieClip(root).loadBtn.addEventListener(MouseEvent.CLICK, openClick);

function openClick(evt:MouseEvent):void {
    fileRef.addEventListener(Event.SELECT, selectHandler);
    fileRef.addEventListener(Event.COMPLETE, completeHandler);
    var fileFilter:FileFilter = new FileFilter("Images","*.jpg;*.jpeg;*.gif;*.png");
    fileRef.browse([fileFilter]);
}

function selectHandler(event:Event):void {
    fileRef.load();
}

function completeHandler(event:Event):void {
    var image:Loader = new Loader();
    var imgSprite:Sprite = new Sprite();
    image.loadBytes(fileRef.data);
    imgSprite.addChild(image);
    addChild(imgSprite);
    imgSprite.addEventListener(MouseEvent.MOUSE_DOWN, select);
    imgSprite.x=200;
    imgSprite.y=200;
}

我正在尝试将我的HD中的图像加载到加载程序,然后加载一个精灵,然后在舞台上加载一个空的容器movieClip ...

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

我认为你应该在添加之前等待LOADER加载完整的字节 他们要sprite,因为庞大的文件在App中加载需要时间,

像那样

var image:Loader = new Loader();
image.contentLoaderInfo.addEventListener(Event.COMPLETE, imageloaded);
image.loadBytes(fileRef.data);

和事件处理程序为

private function imageloaded(event:Event):void
{
    var image:Loader = event.currentTarget.loader as Loader;
    var imgSprite:Sprite = new Sprite();
        imgSprite.addChild(image);
        addChild(imgSprite);
}

您也可以使用其故障处理程序来管理故障

希望有所帮助