Avatar billede bingokaj Nybegynder
07. oktober 2004 - 23:34 Der er 5 kommentarer og
1 løsning

mouseover på dynamiske movieclips ?

Hej

Jeg har et loop der opretter nogle movieclips dynamisk (udfra en xml-fil). Inden i loopet forsøger jeg at sætte en mouseOver på movieclippet, som skal kalde en funktion:

_root.mc_personal[mc_personal_sub].onRollOver = designbit_Rollover;

Men funktionen bliver aldrig kaldt - det lader til at movieclippet aldrig får et RollOver-event. Jeg har brugt samme kode til nogle knapper, hvor det virkede fint - kan man ikke bruge det til movieclips eller hvordan ?
Avatar billede barklund Nybegynder
08. oktober 2004 - 09:49 #1
Der er ikke noget galt med dit script. Har du den angivne funktion defineret? mc_personal_sub en streng og er _root.mc_personal[mc_personal_sub] et movieclip?
Avatar billede barklund Nybegynder
08. oktober 2004 - 09:49 #2
Hov, skulle ikke have været et svar, sorry.
Avatar billede bingokaj Nybegynder
08. oktober 2004 - 16:00 #3
Hej Barklund

Her er hele koden:

//---------------START PÅ PERSONALSEKTION---------------
//opret personal
function XMLOut_personal(){
//hent xml
personal = new XML();
personal.ignoreWhite = true;
personal.load('personal.xml');
personal.onLoad = function () {
    xml_file_personal = this;

//opret overordnet movieclip
mc_personal = _root.createEmptyMovieClip("mc_personal",1)
mc_personal._visible = true;
mc_personal._x = 127;
mc_personal._y = 6;

//sæt maske
_root.mc_personal.setMask(mc_maske);

//opret skyder
skyder("skyder1",_root.skyder1._y,140,"mc_personal");

//generer oversigt
i = 1;
minx = "0";
miny = "0";
for ( a = 0; a < xml_file_personal.firstChild.childNodes.length;  a++) {
    for(z = 0; z < xml_file_personal.firstChild.firstChild.childNodes.length; z++){
        if (xml_file_personal.firstChild.childNodes[a].childNodes[z].nodeName == "overskrift") {
            //opret variabler
            var personal_overskrift = xml_file_personal.firstChild.childNodes[a].childNodes[z].firstChild.nodeValue;
            var personal_tekst = xml_file_personal.firstChild.childNodes[a].childNodes[z+1].firstChild.nodeValue;
            var personal_image_large = xml_file_personal.firstChild.childNodes[a].childNodes[z+2].firstChild.nodeValue;
            var personal_image_small = xml_file_personal.firstChild.childNodes[a].childNodes[z+3].firstChild.nodeValue;
            var mincounter = i % 6;

            //opret movieclips med billeder
            if (mincounter == 0 ) {
                miny = Number(miny)+Number(74);   
                minx = 0;   
            }

            mc_personal_sub = "mc_personal_sub"+i;
            _root.mc_personal.createEmptyMovieClip(mc_personal_sub,i)
            _root.mc_personal[mc_personal_sub].loadMovie(personal_image_small);
            _root.mc_personal[mc_personal_sub]._x = minx;
            _root.mc_personal[mc_personal_sub]._y = miny;
           
           
            setProperty(_root.mc_personal[mc_personal_sub], _alpha, 50);
           
            //sæt mouse-actions
            _root.mc_personal[mc_personal_sub].onRollOver = designbit_Rollover;
            _root.mc_personal[mc_personal_sub].onRelease = function() {
                designbit_url("http://www.hotmail.com");
            };

            }
        }
        minx = Number(minx)+Number(87);
       
        i++;
    }
}
}


//MOUSE-ACTIONS TIL PERSONAL-SEKTIONEN
function designbit_rollOver() {
    trace ("du har opnået klikhed");
    setProperty(this, _alpha, 50);
}
Avatar billede bingokaj Nybegynder
08. oktober 2004 - 16:03 #4
hov, den kalder den forkerte function. Jeg har ændret det til :

           
            //sæt mouse-actions
            _root.mc_personal[mc_personal_sub].onRollOver = designbit_Rollover;
            _root.mc_personal[mc_personal_sub].onRelease = function() {
                designbit_rollOver("http://www.hotmail.com");
            };

            }
        }
        minx = Number(minx)+Number(87);
       
        i++;
    }
}
}


//MOUSE-ACTIONS TIL PERSONAL-SEKTIONEN
function designbit_rollOver() {
    trace ("du har opnået klikhed");
    setProperty(this, _alpha, 100);
}

men det gjorde ikke nogen forskel
Avatar billede barklund Nybegynder
08. oktober 2004 - 16:46 #5
Hm, jeg synes sgu ikke rigtig du har taget mine tidligere råd til dig. setProperty skal dø - helt og holdent. Den har intet at gøre i ActionScript skrevet indenfor de sidste 5-6 år (siden Flash 5 kom ud).
Avatar billede barklund Nybegynder
08. oktober 2004 - 16:49 #6
Og ikke at evaluere dig frem til movieclippet hver gang, men bruge en direkte reference og den slags.
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