Avatar billede vardox Nybegynder
13. november 2004 - 23:11 Der er 8 kommentarer og
1 løsning

Liste med knapper runtime

Hvordan kan man lave en liste med "knapper" runtime?

Jeg har en stak variabler varN, som skal fungere som teksten i knappen. Knappen skal så føre mig videre til en formular, hvor jeg via LoadVars kan hente nogle data.

Patrick (Flash MX 2004)
Avatar billede pyroman Nybegynder
14. november 2004 - 00:17 #1
Du laver et movieclip med et dynamisk tekstfelt, med instancenavnet "label" så en normal knap i et layer under, knappen giver du instancenavnet "hit".
Du giver movieclippet linkagenavnet "knap"

Så kan du hive et eksemplar af knappen ind på denne måde:

this.attachMovie("knap", "knap", 1);
knap.label.text = "label";


Hvis du skal lave en masse knapper, der fx står under hinanden kan dette klares med et loop:

for(i=1;i<10;i++){
  var mc = this.attachMovie("knap", "knap"+i, i);
  mc.label.text = "knap"+i;
  mc.hit.onRelease = function(){
    trace("Der blev trykket på: "+this._parent);
  }
}
Avatar billede vardox Nybegynder
14. november 2004 - 00:20 #2
og i knappen skal jeg kun fylde noget i hit-layer?
Avatar billede pyroman Nybegynder
14. november 2004 - 00:28 #3
næhh det er op til dig selv - hvis du godt vil have lidt grafik og ikke bare tekst gør du det
Avatar billede vardox Nybegynder
14. november 2004 - 00:43 #4
hmm...

Jeg har lavet et movieclip (knap).
I det har jeg lavet et dynamisk tekstfelt (label) - i øverste lag.
I det nederste lag er der en tom knap

I root har jeg indsat koden
    this.attachMovie("knap", "knap", 1);
    knap.label.text = "label";

Hvad har jeg gjort galt? Er det det der med linkage jeg har misforstået?
Avatar billede pyroman Nybegynder
14. november 2004 - 11:39 #5
du skal højreklikke på dit movieclip i library'et og vælge "linkage" og så klikke på "export to actionscript" og så skrive "knap" i tekstfeltet.
Men laver lige koden lidt om, så den rent faktisk positionerer knapperne under hinanden:

for(i=1;i<10;i++){
  var mc = this.attachMovie("knap", "knap"+i, i);
  mc.label.text = "knap"+i;
  mc._y = mc._height*i-mc._height+5;
  mc.hit.onRelease = function(){
    trace("Der blev trykket på: "+this._parent);
  }
}
Avatar billede vardox Nybegynder
14. november 2004 - 12:33 #6
synes jeg bare at jeg havde prøvet... men pyt..

smid et svar :o)
Avatar billede pyroman Nybegynder
14. november 2004 - 14:03 #7
Har du fået det til at virke?
Avatar billede vardox Nybegynder
14. november 2004 - 15:34 #8
Jepper...
Det var linkage der var mit problem. Desuden lavede jeg en kasse i hit-feltet på min button, og lagde knappen på det øverste lag i mit MC :o)

Så du skal jo have dine points, og et mange tak for hjælpen
Avatar billede pyroman Nybegynder
14. november 2004 - 16:16 #9
Så lidt...
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