Avatar billede idiotbarn Nybegynder
13. marts 2005 - 15:28 Der er 18 kommentarer og
1 løsning

Actions knyttet til oprettet MC

Jeg laver et MC med createEmptyMovieClip. Hvordan får jeg lavet det sådan der sker noget når man klikker på MC'et ?
Avatar billede barklund Nybegynder
13. marts 2005 - 15:54 #1
Du sætter vel en event på som med alle andre movieclip:

var m = this.createEmptyMovieClip("foo", 1);
m.onRelease = function() { trace("hejsa"); };
Avatar billede thulstrup Nybegynder
13. marts 2005 - 15:55 #2
this.createEmptyMovieClip("mc", 0);
mc.beginFill(0xff9900, 100);
mc.moveTo(0, 0);
mc.lineTo(100, 0);
mc.lineTo(100, 100);
mc.lineTo(0, 100);
mc.endFill(0, 0);
mc.onRelease = function() {
    trace("Du trykkede på mig.\nHilsen "+this);
};
Avatar billede thulstrup Nybegynder
13. marts 2005 - 15:55 #3
nemli' ja :)
Avatar billede altschuler Nybegynder
13. marts 2005 - 15:57 #4
Der er jo ikek noget at klikke på, i et empty movieclip. Men hvis du alligevel vil vide det burde det være sådan her:

_root.createEmptyMovieClip("bavian", _root.getNextHighestDepth())
//onMouseDown kan erstattes med hvad du vil, f.eks. onEnterFrame el. onLoad osv.
bavian.onMouseDown = function () {
// her skal der så ske noget
}
Avatar billede altschuler Nybegynder
13. marts 2005 - 15:58 #5
lol fik ikke lige set at der var svaret allerede
Avatar billede barklund Nybegynder
13. marts 2005 - 15:59 #6
onMouseDown er ikke det samme som onPress, onMouseDown bliver aktiveret blot der klikkes med musen hvor som helst.
Avatar billede altschuler Nybegynder
13. marts 2005 - 16:04 #7
Jamen hvis man sætter det på et movieclip, er det så ikke kun hvis man klikker på lige netop dét movieclip? Er det vel ikke når du siger det sådan :)
Avatar billede barklund Nybegynder
13. marts 2005 - 16:08 #8
Niks, det bruger man onPress og onRelease til - altså de klassiske knap-events. onMouseDown/Up er jo muse-events - har intet med movieclippet at gøre overhovedet.
Avatar billede altschuler Nybegynder
13. marts 2005 - 16:12 #9
Oh vidste jeg ikke, men så ved jeg det.

Bare glem mit første indlæg så ;)
Avatar billede idiotbarn Nybegynder
13. marts 2005 - 17:00 #10
Hmm...skulle det her ikke virke:

this.createEmptyMovieClip("myMC"+i,i)
myMCL.loadClip(arrImgList[i+1],"myMC"+i);
myMC1.onRelease = function() {
trace("Ok")
};

Koden: myMCL.loadClip(arrImgList[i+1],"myMC"+i); loader et billede ind
Avatar billede barklund Nybegynder
13. marts 2005 - 17:03 #11
Du kan ikke sætte egenskaber på et movieclip og så derefter loade noget ind i det - så bliver næsten alle egenskaber slettet igen. Brug istedet moviecliploaderen onLoadInit event:

function klikBillede() {
  trace("trykket på "+this);
}
myMCL.onLoadInit = function(mc) {
  mc.onRelease = klikBillede;
}

Dette placerer du bare udenfor din løkke lige efter du har oprettet myMCL-objektet.

--
Morten Barklund
Avatar billede idiotbarn Nybegynder
13. marts 2005 - 17:28 #12
ah...tak. Jeg troede at egenskaberne lå "ovenpå" MC'et, så man kunne gøre hvad man ville med indholdet. Det ser ud til at fungere, ligger i lige et svar
Avatar billede barklund Nybegynder
13. marts 2005 - 17:31 #13
Mjææs :)
Avatar billede idiotbarn Nybegynder
13. marts 2005 - 17:38 #14
jeg er løbet ind i et problem alligevel. Jeg har et array med forskellige id'er, alt efter hvilket billede der bliver loaded ind. Hver billede har et seperat Id

    while (k<=temp){
        eval("myMC"+k).onRelease = function() {
        trace(arrIdList[k])
        };
        k++
    }
men når jeg trykker på et billede har den den sidste værdi af k og ikke lige det element i arrayet, fx 2, hvordan fikser jeg det? Og giver det nogen mening?
Avatar billede barklund Nybegynder
13. marts 2005 - 17:43 #15
Det er nemlig rigtigt, funktionens indhold bliver først evalueret, når funktionen kaldes - og på dette tidspunkt har værdien af k selvfølgelig ændret sig. Du skal gemme movieclippets id på movieclippet selv - og så kan du bruge en generel "trykPåBillede" funktion:

function trykPåBillede() {
    trace("der er blevet trykket på "+this.id+" => "+arrIdList[this.id]);
}
...
    for(var k=0;k<=temp;k++){
        this["myMC"+k].id = k;
        this["myMC"+k].onRelease = trykPåBillede;
    }

Så burde det spille ;)

--
Morten Barklund
Avatar billede barklund Nybegynder
13. marts 2005 - 17:43 #16
Og et "rigtigt" svar denne gang :)
Avatar billede idiotbarn Nybegynder
13. marts 2005 - 18:09 #17
Yes sejt :) Tak skal du ha
Avatar billede barklund Nybegynder
13. marts 2005 - 18:20 #18
Mjææs - og tark for points :)
Avatar billede barklund Nybegynder
13. marts 2005 - 18:21 #19
Lige præcis problematikken omkring et id i en løkke og tilsvarende problemer bliver også gennemgået i http://globe.dk/?action=detail&vare=FG227-7 - som sikkert vil kunne hjælpe dig en del :)

--
Morten Barklund
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