- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- Immagini Random
-
Immagini Random
Ciao a tutti, ho letto qualcosa al riguardo ma non mi sembra che nulla faccia al mio caso, di seguito posto lo script che da flash apre il file xml:
#initclip 1
ImageFader = function () {
this.init ();
};
ImageFader.prototype = new MovieClip ();
// ** init class ** //
ImageFader.prototype.init = function () {
this._xscale = 100
this._yscale = 100
this.bounding_box.unloadMovie()
this.fader.unloadMovie()
this._dataProvider = new Array ();
this._count = 0;
this._depth = 1;
this._isLoaded = -1;
if (this.S) {
clearInterval (this.S);
}
if (this._xmlfile != "") {
this.loadXML (this._xmlfile);
}
};
// *** load the external xml ** //
ImageFader.prototype.loadXML = function (x) {
var _xml = new XML ();
_xml.ignoreWhite = true;
_xml.path = this;
_xml.load (x);
_xml.onLoad = function () {
for (var a = 0; a < this.firstChild.childNodes.length; a++) {
var _trans = this.firstChild.childNodes[a].attributes.TRANSITION;
var _pause = this.firstChild.attributes.PAUSE
var _img = this.firstChild.childNodes[a].firstChild.nodeValue;
this.path._dataProvider.push ({img:_img, transition:_trans, pause:_pause});
}
this.path.startFading ();
delete this;
};
};
// ** start fading procedure ** //
ImageFader.prototype.startFading = function () {
if (this._dataProvider.length > 0) {
this.makeFader(true)
}
};
// ** load images ** //
ImageFader.prototype.makeFader = function (first) {
this._isLoaded = -1;
this._tmp = this.attachMovie ("ImageLoader", "ImageLoader" + this._depth, this._depth++);
this._old1 = this['ImageLoader' + (this._depth - 1)]
this._old2 = this['ImageLoader' + (this._depth - 2)]
this._tmp.loadHandler ("isLoaded", this._count);
this._tmp.autoStart = false;
this._tmp.transition = this._dataProvider[this._count].transition
this._tmp.loadImage (this._dataProvider[this._count].img);
this._t1 = getTimer()
this.onEnterFrame = function(){
this._t2 = getTimer()
if((this._t2 - this._t1) > this._dataProvider[this._count].pause || first==true){
if(this._isLoaded == this._count || this._isLoaded == 1 && this._count == 0){
delete this.onEnterFrame;
this._tmp.start()
this._old1.fadeOut()
this._old2.removeMovieClip()
if(this._count + 1 < this._dataProvider.length){
this._count++
this.makeFader()
return;
} else {
if(this._loop == true){
this._count = 0
this.makeFader()
}
}
}
}
}
};
// ** which has been loaded ? ** //
ImageFader.prototype.isLoaded = function (num) {
this._isLoaded = num;
};
Object.registerClass ("ImageFader", ImageFader);
#endinitclipe qui posto il contenuto della pagina xml:
<?xml version="1.0"?>
<!--
set transition number from 1 to 9
set transition number to 0 for random effect
-->
<RSS PAUSE="8000">
<IMAGE TRANSITION="0">img\orizzontali\001.jpg</IMAGE>
<IMAGE TRANSITION="0">img\orizzontali\002.jpg</IMAGE>
<IMAGE TRANSITION="0">img\orizzontali\003.jpg</IMAGE>
<IMAGE TRANSITION="0">img\orizzontali\004.jpg</IMAGE>
<IMAGE TRANSITION="0">img\orizzontali\005.jpg</IMAGE>
</RSS>Allora vi spiego perchè quello che serve a me.
Praticamente se guardate bene lo script, noterete che oltre a caricare le immagini specificate nell'xml assegna a loro degli effetti random...
Ora vorrei solo che i file vengono caricati in modo randomico.
Potreste gentilmente aiutarmi?
Grazie infinite....