30. marts 2002 - 23:04Der er
8 kommentarer og 1 løsning
Ekspert-spørgsmål...
jeg vil meget gerne gøre dette selv, men mine evner er ikke tilstrækkeligt til denne her:
jeg har en variabel (X) som kan variere - hehe, selvfølgeig. kan vær minimum 1 og max. 6. (jeg har oprettet denne variabel)
den skal generere indsætte X antal tekstfelter på scenen. Da der jo på den måde kan være nogengange 1 tekstfelt og nogen gange 6 tekstfelter, så skal de kunne lægge sig forskeligt efter hvor mange der er. dog altid på en lang række (horisontalt). reglen er at de skal centreres på midten af filmen. der skal altid være 20 pixels imellem tekstfelterne (og txtfelterne er 40 pixels brede). filmen er 500 pixels bred.
tekstfelterne er mc'er som har navnene felt1, felt2, felt3, felt4, felt5 og felt6.. De henter hver deres tekst fra eksterne txt-filer.
kan dette overhovedet nogensinde lad sig gøre?????
1. Du laver et movieclip der kun indeholder et dynamisk tekstfelt. Giv dette felt en bredde på 40 px og variabelnavnet text0. Selve movieclippet giver du instance navnet text.
2. Jeg regner her med at dine eksterne txt filer hedder tekst1, tekst2... tekst6. I begyndelsen af deres tekststykke definerer du en variabel som text0=Jeg er tekst1 text0=Jeg er tekst2 etc.
3. Efterfølgende har jeg benyttet som frame script, men du kan placere det hvor det passer bedst.
// det clip der duplikeres skal ikke ses this.text._visible = false; // hvordan du styrer x varieres her, på en knap eller lign. var x = parseInt(Math.random()*5)+1; //tekstfelternes vertikale placering var vertikalt = 200; // afstand mellem tekstfelter var space = 20; // længde på hvert clip var length = 40; // scenens bredde var width = 500; // den totale længde på alle tekstfelter + mellemrum var totalLength = x*length+(x-1)*space; // benyttes til at fastsætte de nye x værdier, 0 for det første clip var tekstfeltX = 0;
for (i=1; i<=x; i++) { // movieclippet text duplikeres x gange duplicateMovieClip(text, "text"+i, i); // i det nye movieclip loades tekstvariablerne eksternt. loadVariables("tekst"+i+".txt", this["text"+i]); this["text"+i]._y = vertikalt; // beregning på placering af hvert clip this["text"+i]._x = width/2+(length/2)-totalLength/2+tekstfeltX; // tekstfeltX forøges med længde og spacing til næste iteration tekstfeltX += length + space; }
Så burde det hele virke efter planen. Jeg duplikerede et enkelt movieclip dynamisk alt efter x frem for at have nogle fastsatte felter som du skriver. Det mener jeg er mere hensigtsmæssigt, men det kan jo rettes hvis du hellere vil det.
Ved at rette på de enkelte parametre og variabler kan du tilpasse koden som du vil.
Hey - tak for point - og for at lukke spørgsmålet :)
Synes godt om
Ny brugerNybegynder
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.