Action Script & Tutorials 01 Jun 2006 02:39 am
Slide Show Tween Class for dynamic Image Gallery
Last week I wrote this class for a flash site development. Since the data is dynamic then I must wrote the code for dynamic slide show gallery also and here the class that i wrote:
-
// slide show tween class
-
class janumedia.fx.tween {
-
-
private var mc:MovieClip; // target mc
-
private var img1:MovieClip; // mc1
-
private var img2:MovieClip; // mc2
-
private var data:Array; // image gallery
-
private var speed:Number; // tween speed interval
-
private var cur:Number; // current play
-
private var tw:Boolean; // tween status
-
private var intervalID;
-
-
function tween(t:MovieClip,d:Array,s:Number){ // t = movieclip target ; d = image list in array ; s = swening speed interval
-
mc = t;
-
data = d;
-
speed = s;
-
cur = 0;
-
tw = false;
-
prepared();
-
}
-
private function prepared(){
-
mc.createEmptyMovieClip("img1",10);
-
mc.createEmptyMovieClip("img2",9);
-
img1 = mc.img1;
-
img2 = mc.img2;
-
-
loadImage(img1,nextImage());
-
loadImage(img2,nextImage());
-
-
}
-
private function beginTween(n:MovieClip){
-
clearInterval(intervalID);
-
//trace("begin tween "+n);
-
n.owner = this;
-
switch(n){
-
case img1 :
-
//trace("img1");
-
img2.onEnterFrame = function(){
-
this._alpha -= self.speed;
-
//trace(this._alpha);
-
if(this._alpha <= 0) {
-
this.swapDepths(9);
-
this.owner.swapDepths(10);
-
delete this.onEnterFame;
-
this.owner.loadImage(this,this.owner.nextImage());
-
}
-
}
-
break
-
case img2 :
-
//trace("img2");
-
img1.onEnterFrame = function(){
-
this._alpha -= self.speed;
-
if(this._alpha <= 0) {
-
this.swapDepths(9);
-
this.owner.img2.swapDepths(10);
-
delete this.onEnterFame;
-
this..owner.loadImage(this,this.owner.nextImage());
-
}
-
}
-
break;
-
}
-
}
-
private function nextImage():String{
-
var n = cur;
-
cur++;
-
cur = cur>= data.length ? 0 : cur;
-
//trace("cur : "+cur+" : "+data[n]);
-
return data[n];
-
}
-
private function loadImage(t:MovieClip,img){
-
//trace("load : "+img+" to : "+t);
-
var self = this;
-
var my_mcl = new MovieClipLoader();
-
var myListener = new Object();
-
myListener.onLoadComplete = function (tmc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
-
tmc._alpha = 100;
-
if(self.tw) self.intervalID = setInterval(self,"beginTween",2000,tmc);
-
self.tw = true;
-
}
-
myListener.onLoadProgress = function(tmc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
-
var a = Math.round((bytesLoaded/bytesTotal)*100);
-
trace("load progress "+a);
-
}
-
my_mcl.addListener(myListener);
-
my_mcl.loadClip(img, t);
-
}
-
}
To use is is very simple. Make sure you copy this code and save as tween.as in folder janumedia/fx.
Then ready to use with this code:
-
var myGallery = new Array("image1.jpg","image2.jpg","image2.jpg");
-
var myslideshow = new janumedia.fx.tween(this, myGallery, 200);
The gallery list (array data) it self can be load dynamically using xml data
> Get the update version here

