Avatar billede den-evil Nybegynder
10. maj 2007 - 10:25 Der er 2 kommentarer og
1 løsning

skift billeder random

Hej alle...

Har et XML slideshow...

Sådan som det fungerer nu er at der bliver loaded 4 billeder ind af gangen, og de fader så op, når de er faded ind, så kommer der 4 nye som erstatter de der er i forvejen, også fader de ind.....

Det jeg gerne vil have, men ikke kan få til at fungere er at når de første 4 billeder er kommet ind, skifter der kun 1 af gangen, gerne random om hvilket af de 4 billeder der skifter...

Scriptet kan hentes på www.playart.dk/toppics.rar
Så er det lidt nemmere at forstå hvordan det ser ud....

Anyway mit AS i min main timeline ser sådanne ud:

_root.p = 0;

//Hent XML
function loadXML(loaded) {
    //Hvis XML er Loaded/Hentet
    if (loaded) {
        xmlNode = this.firstChild;
        image1 = [];
        image2 = [];
        image3 = [];
        image4 = [];
        var total = xmlNode.childNodes.length;
        for (i=0; i<total; i++) {
            image1[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
            image2[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
            image3[i] = xmlNode.childNodes[i].childNodes[2].firstChild.nodeValue;
            image4[i] = xmlNode.childNodes[i].childNodes[3].firstChild.nodeValue;
        }
        upDatePic();
    } else {
        content = "file not loaded!";
    }
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
//xmlData.load("/site/utils/toppics.asp?doc_id="+doc_id);
xmlData.load("images.xml");

//Preload til billede
this.onEnterFrame = function() {
    filesize = picture1.getBytesTotal();
    loaded = picture1.getBytesLoaded();
    preloader._visible = true;
    if (loaded != filesize) {
        preloader.preload_bar._xscale = 100*loaded/filesize;
    } else {

        preloader._visible = false;
        //Hvis billede har en alpha værdi mindre end 0, så fade ind til 100
        if (picture1._alpha<100) {
            picture1._alpha += 3; //Hastighed, jo størrere, jo hurtige vil billedet bliver vist
        }
        if (picture2._alpha<100) {
            picture2._alpha += 3; //Hastighed, jo størrere, jo hurtige vil billedet bliver vist
        }
        if (picture3._alpha<100) {
            picture3._alpha += 3; //Hastighed, jo størrere, jo hurtige vil billedet bliver vist
        }
        if (picture4._alpha<100) {
            picture4._alpha += 3; //Hastighed, jo størrere, jo hurtige vil billedet bliver vist
        }
    }
}

//Opdaterer billede (Henter nyt billede)
function upDatePic (){

        if (loaded == filesize) {
            picture1._alpha = 0;
            picture1.loadMovie(image1[p],1);
           
            picture2._alpha = 0;
            picture2.loadMovie(image2[p],2);
           
            picture3._alpha = 0;
            picture3.loadMovie(image3[p],3);
           
            picture4._alpha = 0;
            picture4.loadMovie(image4[p],4);

            picture_num();
        }
}

function picture_num() {
    current_pos = p+1;
    pos_txt = current_pos+" / "+total;
}

-------------------------------------------

Så har jeg et movieClip hvor der ligger et AS layer inde i det, hvor AS ser sådanne ud:

if (_root.p < (_root.total-1)) {
    _root.p = _root.p += 1;
} else {
    _root.p = 0;
}
_root.upDatePic();

--------------------------------------------------


Håber der er nogle der kan hjælpe, for synes sq efterhånden jeg har prøvet alt jeg kender til :)
Avatar billede den-evil Nybegynder
10. maj 2007 - 11:24 #1
Det er vel et eller andet med at jeg skal sætte et nogle af movieclipsene på pause randomly eller noget ???
Avatar billede den-evil Nybegynder
11. maj 2007 - 08:23 #2
Slet ingen hjælp og hente her ?
Avatar billede den-evil Nybegynder
14. maj 2007 - 09:29 #3
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester