package { import com.adobe.serialization.json.JSON; import com.pnwrain.display.*; import flash.display.Bitmap; import flash.display.Loader; import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.Event; import flash.events.MouseEvent; import flash.events.TimerEvent; import flash.geom.Rectangle; import flash.net.URLLoader; import flash.net.URLRequest; import flash.system.LoaderContext; import flash.system.Security; import flash.utils.Timer; [SWF( backgroundColor='16777215', height='150', width='975')] public class simzgirlHeader extends Sprite { private static const IMG_URL:String = "http://api.flickr.com/services/feeds/photos_public.gne?id=68968930@N00&lang=en-us&format=json&nojsoncallback=1"; private var loader:URLLoader; private var timer:Timer; private var delta:Number = 1; private var lm:BoxManager; public function simzgirlHeader() { this.stage.scaleMode = StageScaleMode.NO_SCALE; this.stage.align = StageAlign.TOP_LEFT; this.scaleX = 1; this.scaleY = 1; Security.allowDomain("*"); loader = new URLLoader(); var request:URLRequest = new URLRequest(IMG_URL); loader.addEventListener(Event.COMPLETE, onDataLoad); loader.load(request); timer = new Timer(20); timer.addEventListener(TimerEvent.TIMER,scroll); lm = new HBox(); lm.width = 975; addChild(lm); addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); } private function onDataLoad(event:Event):void{ var js:Object = JSON.decode(URLLoader(event.target).data); for ( var i:int=0;i<10;i++){ var item:Object = js.items[i]; var imgLoader:Loader = new Loader(); var url:URLRequest = new URLRequest(item.media.m); var lc:LoaderContext = new LoaderContext(true); imgLoader.load(url,lc); imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoad); } } private function onImageLoad(event:Event):void{ var img:Bitmap = event.target.content; img.x = 100*lm.numChildren; lm.addChild(event.target.content); var ch:Number = img.height; var cw:Number = img.width; var th:Number = 150; img.height = th if ( ch > cw ){ img.width = (3*th)/4; }else{ img.width = (4*th)/3; } } private function onMouseMove(event:MouseEvent):void{ if ( event.currentTarget == this ){ var mp:Number = this.width/2; if ( event.stageX < mp ){ delta = -5; }else{ delta = 5; } } } private function onMouseOver(event:MouseEvent):void{ if ( event.currentTarget == this ){ timer.start(); } } private function onMouseOut(event:MouseEvent):void{ if ( event.currentTarget == this ){ timer.stop(); } } private function scroll(event:TimerEvent):void{ lm.horizontalScrollPosition += delta; event.updateAfterEvent(); } } }