= directions.length) direction = 0;
CubeRotate(f).direction = directions[direction]
CubeRotate(f).blur = BLUR_FILTER;
}
f.duration = EFFECT_DURATION;
f.play();
f.addEventListener(EffectEvent.EFFECT_END, onEffectEnd);
}
/**
* Image effect display finished
* go to the next image
*/
private function onEffectEnd(e:EffectEvent):void
{
if(e.target is CubeRotate)
{
container.removeChild(DisplayObject(CubeRotate(e.target).target))
container.addChild(DisplayObject(CubeRotate(e.target).siblings[0]))
}
next();
}
/**
* Initialize application
*/
private function init():void
{
_flickr = new FlickrService(API);
//_flickr.addEventListener(FlickrResultEvent.PEOPLE_GET_PUBLIC_PHOTOS, handleEvent);
_flickr.addEventListener(FlickrResultEvent.PHOTOS_SEARCH, handleEvent);
_flickr.addEventListener(FlickrResultEvent.PHOTOS_GET_CONTEXT, handleEvent);
_flickr.addEventListener(FlickrResultEvent.PHOTOS_GET_INFO, handleEvent);
_timer = new Timer(PAUSE, 1);
_timer.addEventListener(TimerEvent.TIMER, onTimerStep);
_timer.stop();
//var h:Number = systemManager.stage.stageHeight;
//var w:Number = systemManager.stage.stageWidth;
//container.scaleX = 0.8 * w/150;
//container.scaleY = 0.8 * w/150;
first();
}
private var count:Number = 0;
private function onTimerStep(e:TimerEvent):void
{
count++;
current = _next_photo;
title = _current.title;
description = _current.description;
//_tags.text = "[" + count + "] " + tags;
_title.text = _current.title;
//_desc.text = _current.description;
status.text ="[" + count + "]"; // + tags;
var h:Number = systemManager.stage.stageHeight;
var w:Number = systemManager.stage.stageWidth;
var x:Number = 0.8 * h/150;
var y:Number = 0.8 * w/150;
var s:Number = Math.min(x,y);
container.scaleX = s;
container.scaleY = s;
}
private var plist:PagedPhotoList;
private function handleEvent(e:Event):void
{
var tmp_photo:Photo;
if(e.type == FlickrResultEvent.PEOPLE_GET_PUBLIC_PHOTOS)
{
plist = PagedPhotoList(FlickrResultEvent(e).data.photos);
if(plist.photos.length > 0)
{
current = plist.photos[0];
}
} else if(e.type == FlickrResultEvent.PHOTOS_SEARCH)
{
plist = PagedPhotoList(FlickrResultEvent(e).data.photos);
if(plist.photos.length > 0)
{
current = plist.photos[0];
}
} else if(e.type == FlickrResultEvent.PHOTOS_GET_CONTEXT)
{
var context:Array = FlickrResultEvent(e).data.context;
if(order == 0)
{
currentIndex++;
if(Photo(context[0]).id == '0' || currentIndex >= TOTAL_IMAGES)
{
order = 1
}
}
if(order == 1)
{
if(Photo(context[1]).id == '0')
{
order = 0
currentIndex = 1;
}
}
tmp_photo = Photo(context[order]);
if(tmp_photo.id != "0")
{
_flickr.photos.getInfo(tmp_photo.id, tmp_photo.secret);
}
} else if(e.type == FlickrResultEvent.PHOTOS_GET_INFO)
{
_next_photo = Photo(FlickrResultEvent(e).data.photo);
if(_timer.running) _timer.stop();
_timer.start();
}
}
/**
* Load the First Image
*/
private function first():void
{
//var tags:String = "creative technology";
//_flickr.people.getPublicPhotos(NSID, "", 1, 1);
_flickr.photos.search( "", tags );
}
/**
* Load the next image
*/
private function next():void
{
_flickr.photos.getContext(current.id);
}
/**
* Get the photo source path
*/
private function getPhotoURI(p:Photo):String
{
// Wee need a php wrapper page for reading the image contents, otherwise every bitmapdata
// based effect will fail on images loaded from external domains
//return "http://localhost/media/actionscript-extra-flickr-read.php?file=http://static.flickr.com/" + p.server + "/" + p.id +"_" + p.secret + "_m.jpg";
//return "http://static.flickr.com/" + p.server + "/" + p.id +"_" + p.secret + "_m.jpg";
//return "actionscript-extra-flickr-read.php?file=http://static.flickr.com/" + p.server + "/" + p.id +"_" + p.secret + "_m.jpg";
//title = p.title; description = p.description;
return "actionscript-extra-flickr-read.php?file=http://static.flickr.com/" + p.server + "/" + p.id +"_" + p.secret + "_m.jpg";
}
private function set current(p:Photo):void
{
_current = p;
loadNext();
}
private function get current():Photo
{
return _current;
}
private function select( e:Event ) : void
{
tags = e.target.text;
_timer.stop();
init();
//first();
}
]]>