Código ActionScript :
class ImgLoop {
private var ruta:MovieClip;
private var listaFotos:Array;
private var tiempo:Number;
private var isPaused:Boolean;
private var contenedor:MovieClip;
private var paseDeFotos:Number;
private var foto:Number;
private var i:Number = 0;
public var onLoadComplete:Function;
//-------------------------
public function ImgLoop(queRuta) {
ruta = (queRuta == undefined) ? _root : queRuta;
contenedor = ruta.createEmptyMovieClip("contenedor1", ruta.getNextHighestDepth());
contenedor.createEmptyMovieClip("contenedor1",contenedor.getNextHighestDepth());
contenedor.createEmptyMovieClip("contenedor2",contenedor.getNextHighestDepth());
listaFotos = new Array();
setTiempo(2000);
foto = 0;
//
contenedor.precarga = new MovieClipLoader();
contenedor.precarga.onLoadComplete = function(cont:MovieClip) {
cont.onEnterFrame = function() {
if (this._alpha<100) {
this._alpha += 10;
} else {
delete this.onEnterFrame;
}
};
};
}
public function setTiempo(queTiempo) {
tiempo = queTiempo;
}
public function setPosicion(queX, queY) {
contenedor._x = queX;
contenedor._y = queY;
}
public function Setscale(queXscale, queYscale) {
contenedor._xscale = queXscale;
contenedor._yscale = queYscale;
}
public function indiceZ(queZ) {
contenedor.swapDepths(queZ);
}
public function setMask(mask) {
contenedor.setMask(mask);
contenedor.cacheAsBitmap = true;
}
public function start() {
contenedor.contenedor2._alpha = 0;
contenedor.precarga.loadClip(listaFotos[foto],contenedor.contenedor2);
paseDeFotos = setInterval(this, "SiguienteImagen", tiempo);
}
public function stop() {
clearInterval(paseDeFotos);
}
public function pause() {
isPaused = !isPaused;
isPaused == true ? this.stop() : this.start();
}
public function push(queDato) {
switch (typeof (queDato)) {
case "string" :
var extension:String = queDato.substr(queDato.length-3, 3);
switch (extension) {
case "xml" :
var ruta = this;
var xmlFotos:XML = new XML();
xmlFotos.ignoreWhite = true;
xmlFotos.load(queDato);
xmlFotos.onLoad = function(success:Boolean) {
if (success) {
var xmlNodo:XML = this.firstChild;
var total:Number = xmlNodo.childNodes.length;
for (var i:Number = 0; i<total; i++) {
ruta.listaFotos.push(xmlNodo.childNodes[i].firstChild.nodeValue);
}
}
};
break;
default :
listaFotos.push(queDato);
break;
}
break;
case "object" :
listaFotos = queDato;
break;
}
}
public function pop(queURL) {
listaFotos.pop(queURL);
}
public function shift(queURL) {
listaFotos.shift(queURL);
}
public function unshift(queURL) {
listaFotos.unshift(queURL);
}
public function trace() {
trace(listaFotos);
}
public function remove(queDato) {
switch (typeof (queDato)) {
case "number" :
var temp1:Array = listaFotos.slice(0, queDato-1);
var temp2:Array = listaFotos.slice(queDato, listaFotos.length);
listaFotos = temp1.concat(temp2);
break;
case "string" :
for (var num in listaFotos) {
if (listaFotos[num] == queDato) {
remove(Number(num)+1);
}
}
break;
}
}
public function clear() {
clearInterval(paseDeFotos);
listaFotos = [];
SiguienteImagen();
SiguienteImagen();
}
public function exit() {
removeMovieClip(ruta.contenedor1);
removeMovieClip(ruta.contenedor2);
clearInterval(paseDeFotos);
listaFotos = [];
}
public function loadSec(queRaiz:String, queExtension:String, queNum:Number, queFin:Number) {
var num = queNum;
var raiz = queRaiz;
var ext = queExtension;
if (queFin == undefined) {
var scope = this;
var url:String = raiz+num+ext;
contenedor.precarga.loadClip(url,contenedor.contenedor2);
contenedor.precarga.onLoadStart = function(mc:MovieClip) {
contenedor.precarga.unloadClip(mc);
num++;
scope.loadSec(raiz,ext,num);
scope.listaFotos.push(url);
};
contenedor.precarga.onLoadError = function(mc:MovieClip, error:String) {
if (error == "URLNotFound") {
scope.contenedor.precarga.onLoadStart = null;
scope.onLoadComplete();
}
};
} else {
for (var i:Number = queNum; i<=queFin; i++) {
var url:String = raiz+i+ext;
listaFotos.push(url);
}
this.onLoadComplete();
}
}
//--------------------
private function SiguienteImagen() {
(foto<(listaFotos.length-1)) ? foto++ : foto=0;
var cont:MovieClip = contenedor.getInstanceAtDepth(contenedor.getNextHighestDepth()-2);
cont.swapDepths(contenedor.getInstanceAtDepth(contenedor.getNextHighestDepth()-1));
cont._alpha = 0;
contenedor.precarga.loadClip(listaFotos[foto],cont);
}
}
me han dicho q tengo q agregarle 2 eventos aqui (me imagiona q debe ser)
Código ActionScript :
contenedor.precarga = new MovieClipLoader();
contenedor.precarga.onLoadComplete = function(cont:MovieClip) {
cont.onEnterFrame = function() {
if (this._alpha<100) {
this._alpha += 10;
} else {
delete this.onEnterFrame;
}
};
};
}
pero la verdad es q no tngo idea de como se hace ni mucho menos como haria para llamarlo desde mi fla; por fa ayudenme
