Free the web Slideshow | Another average flash developer

Tag Archive for 'slideshow'

Flickr Slideshow - Take 1 (swx+fuse)

Ok so, 1, remember going into this... In no way did I ever say I was a programmer. I am a scripter at heart. Quick down and dirty, rapid development is my game and its worked well so far. There are plenty of better was to build this and extend it. All of which I would like to hear about! So here goes my version of an incredibly quick build of a simple swx+fuse image slide show! Enjoy!

So this is a simple copy, paste and your ready to go! But that's not why I am sharing the code. This was built to show whats possible and to get you started on building your own bigger, faster and stronger version of the same thing. I really encourage all of you to share with us what you have done with this code and how we can all become better coders ourselves from sharing and collaborating.

The following code will allow you to pull recent public photos or even photos from your favorite user and just the change of a methodType. Also please be sure to have the SWX class files in your project folder when running this code. Enjoy!

Update: some of the color coating is off on my style sheet. I will be updating later. Sorry. :(

Update 2: I had some requests for people to see it working. So here you go! Enjoy!

flickrgallery.swf

 
/*
 
SWX + Fuse - Take 1
 
by: Corban Baxter
 
url: blog.projectx4.com		This was written to give some developers simple a quick fix and insite
 
into rapid flash development with some great tools such as swx and fuse.
 
*/
 
import com.mosesSupposes.fuse.*;
ZigoEngine.register(Fuse, FuseFMP, PennerEasing, FuseItem);
 
import org.swxformat.SWX;
//setup the SWX object please see swxformat.org
var swx:SWX = new SWX();
swx.gateway = "http://www.swxformat.org/php/swx.php"; //please change to your domain running swx.
swx.encoding = "GET";
//swx.debug = true;
swx.timeout = 2;
 
var userName:String = "yourUserNameGoesHere"; //used for getUserPhotos method
var photoStyle:String = "small";
var numPhotos:Number = 100;
var page:Number = 1;
var myPhotos:Array;
var currentImage:Number;
var img:String;
//var methodType:String = "getUserPhotos"; //get specfic user photos
var methodType:String = "swxPhotosGetRecent"; //get public photos
var extras:String = "tags"; //comma delimited for getting extra photo info, see service for options
var images:MovieClip = this.createEmptyMovieClip("images", this.getNextHighestDepth());
var back_mc:MovieClip = images.createEmptyMovieClip("back_mc", images.getNextHighestDepth());
var front_mc:MovieClip = images.createEmptyMovieClip("front_mc", images.getNextHighestDepth());
 
function getPhotos():Void {
if(methodType == "getUserPhotos"){
 
var callParameters:Object = {
serviceClass:"Flickr",
method: methodType,
args:[userName, photoStyle, numPhotos, page],
result:[this, resultHandler],
timeout:[this, timeOutHandler],
fault:[this, faultHandler]
};
 
}else{
 
var callParameters:Object = {
serviceClass:"Flickr",
method: methodType,
args:[photoStyle, extras, numPhotos, page],
result:[this, resultHandler],
timeout:[this, timeOutHandler],
fault:[this, faultHandler]
 
};
 
}
 
swx.call(callParameters);
 
}
 
function resultHandler(event:Object) {
 
//callback to run when app has loaded the flickr image array requested
 
//trace(newline+newline+"RESULT: "+event.result);
 
myPhotos = event.result.photo;
total = myPhotos.length;
currentImage = random(total);
 
loadImage(currentImage);
 
}
 
function timeOutHandler() {
 
//do something when call fails to respond in allowed timeout period
 
//getPhotos();
 
trace("timed out");
 
}
 
function faultHandler(event:Object) {
 
//user or system error please give feedback to the users
 
//this would need to be some php call but you understand the point...
 
//getURL("mailto:hello@yourdomain.com?subject='were having flickr gallery issues'");
 
trace("critacl error");
 
}
 
var mclListener:Object = new Object();
 
mclListener.onLoadComplete = function(target_mc:MovieClip) {
 
target_mc._alpha = 0;
 
};
 
mclListener.onLoadInit = function(target_mc:MovieClip) {
 
trace(target_mc._height);
 
//fade up image and rerun the loop
 
var f:Fuse = new Fuse();
f.push({ target: target_mc, ease: "easeOutQuad", time: 1, _alpha: 100 }); //fade up front_mc
f.push({ func: setBackImage, args: img }); //places loaded image in back_mc to create a cross fade look for next iteration
f.push({ delay: 2 });
f.push({ func: loadImage, args: currentImage });
f.start();
 
};
 
mclListener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
 
trace(target + ": " + bytesLoaded + " bytes of " + bytesTotal);
 
}
 
var image_mcl:MovieClipLoader = new MovieClipLoader();
 
image_mcl.addListener(mclListener);
 
function loadImage(num:Number):Void {
 
var total:Number = myPhotos.length;
img = myPhotos[num].src;
image_mcl.loadClip(img, images.front_mc);
currentImage++;
if(currentImage == total){
currentImage = 0;
}
 
}
 
function setBackImage(img:String):Void{
trace(images.back_mc);
images.back_mc.loadMovie(img);
}
 
getPhotos();



Bad Behavior has blocked 480 access attempts in the last 7 days.