2015-04-01 98 views
1

我已經測試了操作腳本2.0中的代碼。它工作的很好,但它不支持GIF,所以我希望它在動作腳本3.0中寫入。 但我不知道這一點。如何通過操作腳本中的URL加載圖像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; 
} 

回答

1

有更簡單的方法直接使用as3,但這是一個強大的方式來加載可能有很多偉大的文檔文件類型。 https://greensock.com/LoaderMax-AS3

+0

我看不到任何輸出..沒有錯誤 – TOM 2015-04-01 12:53:27

+0

我不能站下的複雜的過程..... – TOM 2015-04-02 12:19:00

3

as3中很簡單: 打開Flash IDE,創建新的.fla文件,選擇第一幀,打開'actions(f9)'複製代碼。

當然在AS3它是更好地使用類來把你的代碼英寸 enter image description here

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

+0

我寫,但不能得到任何輸出...因爲我是做第一次。在編寫代碼後,我很困惑2.0 – TOM 2015-04-02 10:04:06

+0

我不能忍受複雜的程序。 ..... – TOM 2015-04-02 12:22:50

+0

你嘗試了什麼?當你只評論你沒有任何輸出時,我們無法幫助你。我在答覆中看到了一個小錯誤,因此我更新了答案,並希望您能將其付諸實施。 – 2015-04-02 14:10:40

1

我不喜歡這樣。而它的工作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); 
     } 
    } 
    } 
} 
+0

但是,當我點擊瑞士法郎文件..出邊玩家。它不運行? – TOM 2015-04-06 05:54:30