package interactiveThumbnail
{
import flash.display.*;
import flash.events.*;
import flash.net.URLRequest;
public class FadeInImage extends ExternalImage
{
private var imageURL:String;
private var theImage:DisplayObject;
private var navUrl:String;
private var ready:Boolean;
private var obName:String;
public function FadeInImage(aModel:Object,aController:Object = null)
{
super(aModel,aController);
ready = false;
}
override internal function loadImage(data:XML):void
{
trace(data.@imgUrl);
this.imageURL = data.@imgUrl;
this.navUrl = data.@navUrl;
var pictLdr:Loader = new Loader();
var pictURLReq:URLRequest = new URLRequest(imageURL);
pictLdr.load(pictURLReq);
pictLdr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);
this.obName = data.@name;
}
private function loaded(event:Event):void
{
this.theImage = event.target.content;
this.addChild(theImage);
this.theImage.alpha = 0;
this.addEventListener(Event.ENTER_FRAME, fadeIn);
}
private function fadeIn(event:Event):void
{
theImage.alpha += .1;
if(theImage.alpha >= 1)
{
this.removeEventListener(Event.ENTER_FRAME, fadeIn);
this.addEventListener(MouseEvent.CLICK, clickhandler);
this.ready = true;
}
}
private function clickhandler(event:MouseEvent):void
{
(controller as IController).setView(this.obName);
}
override public function update(event:Event = null):void
{
if(ready == true)
{
if((model as IModel).getView() == this.obName)
{
this.theImage.alpha = 1;
}
else
{
this.theImage.alpha = .5;
}
}
}
}
}