• User

    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);
    #endinitclip

    e 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....