Avatar billede Slettet bruger
28. oktober 2008 - 12:33 Der er 2 kommentarer og
1 løsning

AS3 - separate, klikbare objekter

Hej eksperter.

Jeg har en række billedobjekter (indlæst dynamisk) der skal gøres klikbare. Problemet er blot, at jeg i AS3 ikke helt kan greje metoden.
I AS2 ville jeg ha' gjort noget i denne dur:

for (var i=0; billeder.length<10; i++) {
  var mitmc = this.attachMovieClip("placeholder", "placeholder"+i, bla bla
  mitmc.nummer = i;
  mitmc.onRelease = function() {
    trace("Du klikkede på objekt nr. "+this.nummer);
  }
}

Men i AS3 ser min kode sådan ud (beskåret):

for (kør 10 gange) {
var _mc:MovieClip = new Tsunamiramme();
  _mc.buttonMode = true;
  _mc.useHandCursor = true;
  _mc.name = "tsunamiramme"+i;
  _mc.x = i*200;
  _mc.nummer = i;
  _mc.addChild(thumbnail_mc);
  _mc.addEventListener(MouseEvent.CLICK, brugerKlikkede);
}

...og så naturligvis koden, der skal udføres:
function brugerKlikkede(e:MouseEvent) {
  trace("Bruger klikkede på artikel "+this.nummer); // Giver "undefined"
  trace(e); // En masse andet ævl
}

Kan nogen hjælpe?
Avatar billede andersbro Nybegynder
28. oktober 2008 - 18:30 #1
trace("Bruger klikkede på artikel "+e.target.nummer)?

Prøv at kigge på MouseEvent og target property'en.
Avatar billede Slettet bruger
29. oktober 2008 - 08:36 #2
Ah, tæt på...
trace(e.currentTarget.nummer);

Tak for det - som sædvanlig; svar = point :)
Avatar billede andersbro Nybegynder
29. oktober 2008 - 19:08 #3
Yes, currentTarget, roder altid rundt i de to targets...
:-)
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