flash on 2009-6-21
♥0 |
Line 128 |
Modified 2009-06-22 00:42:00 |
MIT License
archived:2017-03-20 02:59:09
ActionScript3 source code
/**
* Copyright takawo ( http://wonderfl.net/user/takawo )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/oYH3
*/
package {
import flash.display.Stage;
import flash.display.StageScaleMode;
import flash.display.StageAlign;
import flash.display.Sprite;
import flash.events.Event;
[SWF(backgroundColor = "#666666", frameRate="60")]
public class LoadImage extends Sprite
{
public function LoadImage()
{
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
_xmlLoader = new XMLLoader("http://ttttest.net/study/photo.xml");
_xmlLoader.addEventListener(XMLLoader.LOAD_COMPLETE,onXMLLoaded);
}
private var _xmlLoader:XMLLoader;
private var _photoXml:XML;
private var _photoWidth:Number = 180;
private var _photoHeight:Number = 120;
private function onXMLLoaded(event:Event):void
{
_photoXml = _xmlLoader.getXML();
var i:int = 0;
for each(var url:String in _photoXml.photoURL)
{
var img:ImageLoader = new ImageLoader(url,_photoWidth,_photoHeight);
img.x = ( i % 3 ) * _photoWidth;
img.y = int( i / 3 )* _photoHeight;
addChild(img);
i++;
}
}
}
}
import flash.events.EventDispatcher;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.system.System;
import flash.events.Event;
class XMLLoader extends EventDispatcher
{
public static const LOAD_COMPLETE:String = "load_complete";
public function XMLLoader(url:String):void
{
_xmlLoader = new URLLoader();
_xmlLoader.dataFormat = URLLoaderDataFormat.TEXT;
_xmlLoader.addEventListener(Event.COMPLETE, onXMLLoaded);
//
var urlReq:URLRequest = new URLRequest(url);
_xmlLoader.load(urlReq);
}
private var _my_xml:XML;
private var _xmlLoader:URLLoader;
public function getXML():XML
{
return _my_xml;
}
private function onXMLLoaded(event:Event):void
{
try
{
_my_xml = new XML(_xmlLoader.data);
dispatchEvent(new Event(LOAD_COMPLETE));
}
catch(err:TypeError)
{
trace(err.message);
}
}
}
import flash.display.Sprite;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.events.IOErrorEvent;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
class ImageLoader extends Sprite
{
public function ImageLoader(url:String,w:Number,h:Number)
{
_url = url;
_width = w;
_height = h;
setupField();
_imgLoader = new Loader();
_info = _imgLoader.contentLoaderInfo;
addChild(_imgLoader);
_info.addEventListener(Event.COMPLETE,onCompleteHandler);
_info.addEventListener(ProgressEvent.PROGRESS,onProgressHandler);
_urlReq = new URLRequest(_url);
_imgLoader.load(_urlReq);
}
private var _url:String;
private var _width:Number;
private var _height:Number;
private var _imgLoader:Loader;
private var _urlReq:URLRequest;
private var _info:LoaderInfo;
private var _perField:TextField;
private function setupField():void
{
_perField = new TextField();
_perField.x = 10;
_perField.y = 10;
_perField.autoSize = TextFieldAutoSize.LEFT;
var textFormat:TextFormat = new TextFormat();
textFormat.font ="Verdana";
textFormat.size = 12;
_perField.defaultTextFormat = textFormat;
addChild(_perField)
}
private function onCompleteHandler(event:Event):void
{
_imgLoader.width = _width;
_imgLoader.height = _height;
}
private function onProgressHandler(event:ProgressEvent):void
{
var per:Number = Math.round(event.bytesLoaded/event.bytesTotal * 100);
_perField.text = per + "%";
}
}