如何在 actionscript 3.0 中通过 URL 加载图像

How To Load Image Though URL in action script 3.0

我测试了action script 2.0 中的代码。它工作得很好,但它不支持 GIF,所以我希望它在动作脚本 3.0 中编写。 但我对此一无所知。

 var current_loader: Number = 1;
 import flash.geom.*;
 var current_img: Number = 0;
 this.createEmptyMovieClip('img_01', 999);
 this.createEmptyMovieClip('img_02', 998);
 var loader: MovieClipLoader = new MovieClipLoader();
 var listener: Object = new Object();

 listener.onLoadComplete = function (target_mc: MovieClip) {
     if (target_mc._name == 'img_01') {
         img_02._visible = false;
     } else {
         img_01._visible = false;
     }
     progress_bar.visible = true;
     current_loader.opaqueBackground = 0xFF0000;
 };

 var interval: Number = setInterval(load_image, 1000);

 function load_image() {
     loader.addListener(listener);
 }

 loader.loadClip("http://google/Example3", current_loader);
 current_loader = current_loader == 1 ? 2 : 1;
 current_img = current_img == images.length - 1 ? 0 : current_img + 1;
 }

直接使用 as3 有更简单的方法,但这是一种稳健的加载方式,可以加载包含大量优秀文档的文件类型。 https://greensock.com/LoaderMax-AS3

在 as3 中非常简单: 打开 Flash IDE,创建新的 .fla 文件,select 第一帧,打开 'actions (f9)' 复制代码。

当然在 AS3 中最好使用 类 来放入您的代码。

import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.HTTPStatusEvent;
import flash.events.IOErrorEvent;
import flash.net.URLRequest;

var imageLoader:Loader = new Loader();
var request:URLRequest = new URLRequest("http://dummyimage.com/600x400/e000e0/fff.gif");
imageLoader.load(request);

addChild (imageLoader);

// and all possible listeners
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
imageLoader.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS,  httpStatusHandler);
imageLoader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
imageLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
imageLoader.contentLoaderInfo.addEventListener(Event.OPEN, openHandler);

imageLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);


function completeHandler(event:Event):void {
    trace("completeHandler: " + event);
}

function httpStatusHandler(event:HTTPStatusEvent):void {
    trace("httpStatusHandler: " + event);
}

function initHandler(event:Event):void {
    trace("initHandler: " + event);
}

function ioErrorHandler(event:IOErrorEvent):void {
    trace("ioErrorHandler: " + event);
}

function openHandler(event:Event):void {
    trace("openHandler: " + event);
}

function progressHandler(event:ProgressEvent):void {
    trace("progressHandler: bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
}

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Loader.html#includeExamplesSummary

我喜欢这个。它的工作方式Perfectly.i认为它是最简单的。

 package 
    {           
     import flash.display.Loader;            
     import flash.display.Sprite;             
     import flash.net.URLRequest;           
     import flash.utils.Timer;            
     import flash.events.TimerEvent;                
     import flash.events.Event;               

public class Example extends Sprite {
    public function Example() {
        var myTimer:Timer = new Timer(1000);// 1 second
        myTimer.addEventListener(TimerEvent.TIMER,runMany);
        myTimer.start();
        function runMany(e:TimerEvent):void {
            var loader:Loader=new Loader();
            var url:String= "http://Google.Example3.com/latimage.php";
            loader.load(new URLRequest(url));
            addChild(loader);
        }
    }
  }
}