2015-04-01 51 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

相关问题