Avatar billede mizu Nybegynder
31. marts 2003 - 10:33 Der er 11 kommentarer og
1 løsning

hvordan hente bogstaverne i en string og lægge dem i en array.

Jeg vil gerne kunne hente bogstaverne i en vilkårlig string (som ligger i en variabel) - et for et - og lægge dem i en arrey for senere at kunne assigne dem til at movieclip som skal animeres. Hvis i syns det er for besværlig en arbejdsgang og i har en genvej - er jeg meget åben overfor forslag.

VH Mizu
Avatar billede barklund Nybegynder
31. marts 2003 - 10:38 #1
Du kan altid bruge charAt(i) og strengen længde som du ville bruge et array, men ellers er det bare:

mitArray = minStreng.split("");
Avatar billede mizu Nybegynder
31. marts 2003 - 12:16 #2
split retunerer hele ord og ikke bogstaver men ellers er det jo rigtigt med  charAt .super duper.

Jeg er desværre ikke superstiv i det der med "at bruge en arrey" kunne du tænke dig at uddybe det lidt.mizu
Avatar billede barklund Nybegynder
31. marts 2003 - 12:21 #3
Split med den tomme streng som argument, "", vil returnere et array med et index for hvert bogstav...

Man bruger måske et array som:

mitArray = minStreng.split("");
for (i = 0; i < mitArray.length; i++) {
  _root["mc"+i].gotoAndStop(mitArray[i]);
}

Istedet kunne du have en streng:

for (i = 0; i < mitStreng.length; i++) {
  _root["mc"+i].gotoAndStop(mitStreng.charAt(i));
}

Med samme effekt...
Avatar billede mizu Nybegynder
31. marts 2003 - 13:48 #4
HEj Barklund prøv lige denneher

forest = "quick brown fox";
forestArray = forest.split(" ");
for(i=0; i<forest.length; i++)
{
    trace("["+i+"] " + forestArray[i]);
}

Jeg kan alså ikke få den til at returnerer andet end en en fuld sætning eller et ord af gangen hvad gør jeg forkert.
Alt det andet har du jo ret i?

VH Mizu
Avatar billede barklund Nybegynder
31. marts 2003 - 13:53 #5
Du har et mellemrum... Jeg sagde den tomme streng "" og ikke strengen indeholdende præcis et mellemrum " "... Der er forskel :)
Avatar billede mizu Nybegynder
31. marts 2003 - 14:47 #6
Alså  - prøv at lægge den i første frame og fjern mellemrummet - det løser ikke problemet.
vh Mizu
Avatar billede barklund Nybegynder
31. marts 2003 - 14:54 #7
Det er en fejl i Flash 5 kan jeg se... :)

Der står i hjælpen til flash 5, at den skal virke som beskrevet, men det gør den ikke - det er kun i MX...

Hvis du anvender Branden Hall's eksterne string-funktioner istedet, så virker den rigtigt (http://chattyfig.figleaf.com/~bhall/code/string.as)

/Barklund
Avatar billede mizu Nybegynder
31. marts 2003 - 15:00 #8
ok det var rart så føler jeg mig ikke som en komplet idiot
OKÆÆÆÆÆi ømmmm hvordan anvender man så lige dem ??
vi høres imorgen

VH Mizu
Avatar billede barklund Nybegynder
31. marts 2003 - 15:04 #9
Download filen, læg den i samme mappe som din .fla og skriv:

#include "string.as"
Avatar billede mizu Nybegynder
01. april 2003 - 10:51 #10
Det virker tusind tak.
Vil du ikke lige inden jeg giver dig 100 - forklare hvilken funktion dine Klammer[] har i dit script:
mitArray = minStreng.split("");
for (i = 0; i < mitArray.length; i++) {
  _root["mc"+i].gotoAndStop(mitArray[i]);
}


VH Mizu
Avatar billede barklund Nybegynder
01. april 2003 - 10:58 #11
Hvis du for eksempel har strengen

"abaabbtr";

Og det så betyder, at movieclippet _root.mc0 går til frame "a", _root.mc1 går til frame "b", _root.mc2 går til frame "a" (det tredje bogstav), så opnås præcis dette med ovenstående kode.

For at dynamisk navngive _root.mc+i, så anvendes firkantede klammer: _root["mc"+i] som så evalueres. Det samme for arrayet, som indeholder mitArray.0 hvilket man ikke kan læse normalt men kun via klammer:

mitArray[0]
Avatar billede barklund Nybegynder
01. april 2003 - 12:02 #12
Tark for point :)
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