Avatar billede timmelimsen Nybegynder
13. marts 2002 - 21:15 Der er 22 kommentarer og
1 løsning

Array :)


Hva eh..
Kan man sætte et array inde i flash med javascripts SetVariable?

I øvrigt undrer det mig gevaldigt at macromedia ikke har gjort noget ved Flash's elendige håndtering af indlæsning af externa data...
Hvor mange gange har jeg ikke været 80% færdig med et ellers spændende projekt, og jeg har måttet give tabt, p.g.a Flash's uduelighed. Bah!

"Jubii! Nu kan man se video i Flash 6!"
Who cares, giv mig et steady input fra en database, og jeg er lykkelig...

Måske XML?

Well... Kan man sætte et array inde i flash med javascripts SetVariable? :)

Jeg gir' et blowjob til der viser mig hvordan man indlæser en større mængde data i et array, uden at det tager 20 sekunder(og crasher) for sølle 5 kb data.

Suk!

Avatar billede barklund Nybegynder
13. marts 2002 - 21:37 #1
I hvilken form har du dine data?

Har du dem i en tekstfil? PHP-script fra database? Hvor?

(btw: jeg er gerne fri for et blowjob....)

/Barklund
Avatar billede hoejrup Nybegynder
13. marts 2002 - 22:03 #2
Hvad mener du med jubii, nu kan man se video i flash?

Både flash 5 og flash 4 kan håndtere video, men det er kun flash 4 playeren og flash 6 playeren, der kan vise video. Men video mulighederne er forbedret med sorenson nyeste video compression i flash 6.

XML fungere udemærket i flash.

Normalt anvender du loadVariablesNum eller loadVariables, når du skal læse data ind i flash.

Hvorfor skal du læse større mængder data ind i flash?

Var det ikke en idé at sortere dine data via asp eller php, før du læser de relevante data ind i flash?

Du er måske en kvinde, siden du vil give et blowjob? Måske er du i den forkerte branche.

/per
Avatar billede nikolajdu Nybegynder
14. marts 2002 - 00:19 #3
Angåndende selve spørgsmålet, så se hvordan jeg har gjort her: http://www.eksperten.dk/spm/182790
Avatar billede timmelimsen Nybegynder
14. marts 2002 - 10:28 #4
Til Nikolejdu:

Tak for svaret, men jeg er ikke helt med...
Det jeg söger er at sätte et array i flash fra javascript, som ala:
movie.SetVariable("/myArray[3]", "John Smith");

Men det kan vist ikke lade sig göre....

----

Til jer andre:

Hör nu her.
"Who cares" var et "retorisk" spörgsmål.
Selvfölgelig er det fedt at video bliver opgraderet i flash, og jeg skal da selv eksperimentere med det, men forstå nu min skuffelse over "input"
delen i Flash.

Og nu er det ikke for at väre grov, men en dårlig tendens her på eksperten, er at folk i stedet for at pröve at sätte sig ind i selve problemet, så betvivler de grunden til at göre det.

Jeg ville virkelig ikke hente store datanmängder ind, hvis jeg ikke havde behov for det.

Case:
Det drejer sig om et Pseudo turnbaseret multiplayer spil, hvor jeg i initialiseringen henter kort/status data ned for et f.eks 50*50 kort.
Jeg ville have frisk data ned i et Array hos brugeren, så man slap for at kontstant hente information fra databasen når man f.eks skal tegne en ny del af kortet.
Under tiden, når man er logget ind, bliver andre onlinespilleres ryk opdateret i sit array ved hjälp af XML + at når man rykker bliver det opdateret i databasen, så näste spiller der logger ind får et "friskt" kort".
Tekniken i kortet er så godt som färdigt, database opdatering og XML'en ruller upåklageligt, MEN den initialiserende indläsning af data er, som altid, problemet...
Jeg har forsögt at pumpe det ud som en string, og lade flash splitte den op i et array, og de fleste som har prövet dette ved jo hvor hjerteskärende langsomt flash gör dette, for ikke at tale om at den crasher hvis det tager for lang tid.

Så kom jeg på at lade PHP generere et .as script(med arraysne) som jeg kunne include i starten af spillet. Fint, .as filen fylder 10kb, bliver läst ind fint og alt var perfekt...
Men problemet er så at .as filer bliver cachet, og at den beslutter sig for at läse den gamle ind, i stedet for den nye opdaterede på serveren...
Ok, hva med at lade .as scriptet hedde f.eks et timestamp så jeg kunne include et unikt navn vär gang.
Men suk, #include fungerer ikke med variabler, kun med Path...

Tak for hvis i gad at läse så langt :)

Nogen der har en eventuel lösning?
Avatar billede mao Nybegynder
14. marts 2002 - 10:28 #5
Gir du et blowjob?
Avatar billede nikolajdu Nybegynder
14. marts 2002 - 10:55 #6
Kan du ikke bare sætte

setVariable("temp","test")

Og så inde i flashen :

minArray[3] = temp
Avatar billede Slettet bruger
14. marts 2002 - 10:56 #7
#include file.as bliver compiled i swf filen.
Den kan du ikke generere dynamisk og inkludere via server-side scripting
Avatar billede nikolajdu Nybegynder
14. marts 2002 - 10:57 #8
I øvrigt virker det her da fint:

<a href="#" onclick='document.movie.SetVariable("_root.minArray[3]", "John Smith");'>klik</a>

Du skal bare lige huske at tilføje id og name i din object kode.

<OBJECT id="movie"name="movie" classid="clsid:D27.....>

/Nikolaj
Avatar billede timmelimsen Nybegynder
14. marts 2002 - 13:14 #9
d!ktator:
Jow, det kan man.
Altså jeg skrev en .as fil på serveren fra et phpscript, og det gik fint at indläse... Bare ikke näste gang, hvor flash insistrer på at hente det fra Temporary Internet Files istedet...

---

nikolajdu:
Angående document.movie.SetVariable("_root.minArray[3]", "John Smith");
Så synes jeg ikke at kunne få värdien af minArray[3] frem i flash...
Prövede også at deklarere et array der hed minArray...

Er du sikker på at det funker?

Bare til din orientering, så har jeg husket alt det nödvendige i javascript...
Avatar billede Slettet bruger
14. marts 2002 - 14:06 #10
OK - vi prøver igen :o)

#include er beregnet til at loade ekstern as kode ind i din Flash.
Når du så eksporterer din Flashfilm compiles din eksterne .as kode sammen med .SWF filen.
Du vil sikkert også opleve at hvis du fjernede din .as kode som ligger lokalt på din computer vil Flash brokke sig når du eksporterer....

Du kan reloade og tømme din temp mapper til uendelig tid. Den loader kun din lokale .as fil !!!
Du kan dog godt inkluderer flere .as filer og så lave IF-THEN forespørgelser on-the-fly

Mvh/M!chael
www.FlashFAQ.dk
Avatar billede nikolajdu Nybegynder
14. marts 2002 - 14:09 #11
Jeg testede det 100 % af.

Jeg oprettede simpelthen en variabel der hed minArray[3] og den tog fint imod værdien.
Avatar billede timmelimsen Nybegynder
14. marts 2002 - 14:19 #13
nikolajdu:

Men så bliver det jo en variabel som hedder minArray[3], i stedet for värdien bliver lagt ind i index 3 i arrayen minArray.
Avatar billede Slettet bruger
14. marts 2002 - 14:20 #14
Nikolaj >> Det virker ikke ....... på min G4 :o)
Avatar billede timmelimsen Nybegynder
14. marts 2002 - 14:21 #15
Det javascript-flash ting er vist noget Explorer nazi värk...
Avatar billede timmelimsen Nybegynder
14. marts 2002 - 14:26 #16
D!ktator...
Du har fuldständig ret :(
Det sätter jo tingene i et andet perspektiv...
Betyder jeg er mere fucked end för....
Avatar billede timmelimsen Nybegynder
14. marts 2002 - 14:31 #17
Nikolajdu?

Forstår du hvad jeg mener?
Avatar billede nikolajdu Nybegynder
15. marts 2002 - 09:13 #18
Diktator - Nej det virker ikke. document.setVariable() er jo en FScommand og dem har MAC og Netscape 6.x det ikke godt med. Min lyn version virker heller ikke i NS 4, men herkunne det virke.

For at sige det lige ud, så virker FScommands slet ikke på MAC. Jeg troede bare at Timmelimsen kendte til problemet, når han nu kendte syntaksen. :)

/Nikolaj
Avatar billede nikolajdu Nybegynder
15. marts 2002 - 09:16 #19
Avatar billede nikolajdu Nybegynder
15. marts 2002 - 09:27 #21
Avatar billede timmelimsen Nybegynder
15. marts 2002 - 11:01 #22
Nikolajdu:

Fik det til at virke... Ikke helt som du forslog...
Men du inspirerede mig da til en lösning.

Nu havde jeg jo 2*900 felters arrays.
Så php genererer javascript arraysne, som den i et for loop sätter variabler inde i Flash(temp1,temp2,temp3)
Og derefter i et for loop i Flash hvor den putter temp variablerne ind i et array (Var lidt svärt at finde ud af at referere til de temp variabler, skulle lige finde ud af concatte temp med incrementatoren på den rigtigt måde)
Men ikke desto mindre funker det, og det går faktisk ret hurtigt i forhold til tidligere lösninger.

Jeg ved godt at det ikke funker på Netscape/Mac...
Men i dette tilfälde må jeg sige at mit projekt er udelukkende for PC/Explorer brugere... Der er også rigeligt af dem...

Ikke videre brugervenligt, men jeg SKAL ha gennfört denne her ide, og det her har väret den eneste holdbare lösning på indläsning af större datamängder, indtil nu.

Tusind tak.
Avatar billede nikolajdu Nybegynder
15. marts 2002 - 11:06 #23
Jeg satte også bare arrayen direkte på textfeltet. Det er selvfølgelig ingen løsning hvis man har mange variabler :))

Må jeg set det i funktion?

Tak forpoint :)

/Nikolaj
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