20. februar 2001 - 22:09Der er
95 kommentarer og 3 løsninger
Problem v. export af movie.
Hey guys.
Jeg har et ekstremt belastende flash relateret problem :)
Jeg har lavet et lille nyheds modul i Flash (player 4), hvor siderne kan opdateres dynamisk fra et PHP script (vha. loadvariables fra FLASH). Alt fungerer glimrende i FLASH -> \"Test movie\". Men når filmen er eksporteret, fungerer kun første side i nyheds modulet. Man kan altså ikke gå til side 2 (nyt loadvariable request fra FLASH). Der sker intet.
Jeg har været ret omhyggelig i FLASH med, at vente på, at variablene bliver læst ind. Jeg venter et stykke tid, checker om de er blevet læst. Venter lidt igen. Og hvis de ikke er kommet, kalder jeg så loadVariables igen. Det kan således ikke være dette, der er problemet.
Ganske kort: FLASH movie der anvender loadvariable virker glimrende i FLASH -> Test Movie, men ikke når den er uploadet til serveren.
Flash filmen / HTML\'en ligger på samme server, som PHP scriptet gør det.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hvis du overfører dine variabler til en en ny global variabel, der har /: foran variabel navn. Så virker den både i Flash 4 og Flash 5. Samtidig kan variablen hentes fra alle scener og alle film.
/per
Synes godt om
Slettet bruger
20. februar 2001 - 22:30#7
hoejrup : Du bliver nødt til at uddybe, hvad du mener med det \"globaliserings\" noget. Kan det forklare problemet, sker ved eksport?
robertdhn : Det _skal_ virke til player 4. Har lige prøvet export til player 5. Same problem.
Ligger din Flash applikation og dit PHP i samme bibliotek? - hvis ikke så prøv dette.
Er det samme PHP script du henter alle dine nyheder fra? - hvorfor læser du ikke bare dem alle ind med det samme, og lager dem i variable?
Ellers er du også velkommen at sende den til admin@diktator.dk ;-)
Synes godt om
Slettet bruger
21. februar 2001 - 09:50#20
nikolajdu:
Først henter jeg antallet af sider, der skal vises. Det gør jeg i FRAME 1. Så ved jeg, hvilke navigations pile, der skal være. Så henter jeg indholdet af side 1. Når der trykkes frem, henter jeg indholdet af næste side. Tilbage indholdet af forrige side. Osv.
Der er garanteret ikke noget fejl i PHP scriptet. Det har jeg nemlig styr på. Det er FLASH det kniber med :)
diktator :
Jeg har dem i samme bibliotek. Løsningen med at hente alle sider, har jeg også overvejet. Men det er knap så elegant, da der jo ikke er nogen grund til, at hente data, der muligvis ikke skal vises.
if (Password ne \"\" && Access ne \"\") { gotoAndStop (10); } else { gotoAndPlay (2); }
Hvor frame 10 er din første nyhed. Hvis der ikke er læst nogen ind går du til frame 2 og afsætter mere tid i loopet. OBS,- du skal ikke gå til frame 1 og indlæse variable igen!
Password og Access er bare et eksempel, her skal det selvfølgelig være dine variable du loader ....
Synes godt om
Slettet bruger
21. februar 2001 - 10:03#24
Jeps - som jeg skrev indledningsvis, så gør jeg noget tilsvarende, for at sikre, at de variable når at blive læst ind - inden de bruges.
Synes godt om
Slettet bruger
21. februar 2001 - 10:05#25
Problemet eksisterer som sagt, _kun_ når filmen er exporteret og uploadet til serveren. Det _virker_ altid i FLASH -> \"Test Movie\". Den oplysning, må da kunne bruges til noget.
Vil det sige at din film bare står og looper når du vælger nyhedsmodul nr. 2?
Synes godt om
Slettet bruger
21. februar 2001 - 10:08#27
Den modtager aldrig de nye variable. Den venter i et pænt stykke tid, spørg serveren om dem igen ... venter i et pænt stykke tid osv. Den modtager dem aldrig - når der vælges \"næste side\".
Jeg prøver at finde ud af om dine variable bliver indlæst, eller om de bare ikke blivber vist.... Erklærer du dem som globale og giver du dem unikke navne ??
Ok, det er samme PHP script alle dine nyheder kommer fra?? – så skal det jo ikke loades igen! Med mindre du sender request til dit script... Kan man se lidt kode ??
Synes godt om
Slettet bruger
21. februar 2001 - 10:15#34
Her er de loadvarialbes requests der sendes for hver side:
TOM KEYFRAME ----------- FRAME 4: // Vent, hvis antallet af sider ikke er modtaget. Vent hvis den nye side (recieved != pageNr) ikke er modtaget. Bliver j større end 10 prøver vi med loadvariables igen. Ellers gå til siden, der viser de rigtige knapper.
if (nrOfPages == \"\" || nrOfPages<1) { trace (\"Waiting for number of pages...\"); gotoAndPlay (3); } else if (j>10) { trace(\"Fetching again ...\"); gotoAndPlay(2); } else if (recieved != pageNr) { trace(\"Waiting increase j...\"); j = j + 1; gotoAndPlay (3); } else if (pageNr<2 && nrOfPages>1) { j = 1; trace (\"next\"); gotoAndStop (\"next\"); } else if (pageNr<2 && nrOfPages<2) { j = 1; trace (\"none\"); gotoAndStop (\"none\"); } else if (pageNr>1 && pageNr<nrOfPages) { j = 1; trace (\"all\"); gotoAndStop (\"all\"); } else if (pageNr>1 && pageNr == nrOfPages) { j = 1; trace (\"prev\"); gotoAndStop (\"prev\"); } ----------- ACTION SCIPT PÅ NEXT KNAP:
on (release) { pageNr = pageNr + 1; gotoAndPlay(\"getVars\"); } ---------- ACTION SCIPT PÅ PREV KNAP:
Flash loadVariabels bruges på den måde at flash selv henter variablerne i en fil. Derfor skal du sende dine data til en fil, og derfra henter flash selv oplysningerne. Variablerne skal laves i en lang streng:
Det ser ud til at du ikke får overskrevet dine gamle variable... Prøv at erklære alle dine variable i roden af din Flash, som indlæste variable, ellers ligger de som sessions i din applikation
F.eks. 1. nyhed: NYTitle=titleL
Overskrives sådan:
2. nyhed: _root.NYTitle=titleL
Synes godt om
Slettet bruger
21. februar 2001 - 10:34#45
hoejrup : Ehhh ... du kan jo selv set outputtet fra PHP filerne. Det har da det korrekte format. Og det behøver ikke være en fil der hentes fra, det kan også være et HTTP request.
Set variable: \"datafeltnavn1\" = titleL Set variable: \"datafeltnavn2\" = titleR Set variable: \"datafeltnavn3\" = contentL Set variable: \"datafeltnavn4\" = contentR
Læg mærke til at alle, at alle & forsvinder i flash.
Du skal selvfølgelig køre et nyt loop der tjekker at dine variable ikke er tomme... Du kan da bare have en frame der siger loader næste side mens du looper....
Synes godt om
Slettet bruger
21. februar 2001 - 10:58#55
diktator : Der ér jo allerede et loop. pageNr bliver talt én op, når der trykkes på knappen. Så længe FLASH ikke har modtaget de nye variable fra side 2 vil recieved være 1. Og så længe pageNr != recieved loopes der.
Jeg har kigget på dit script, og det ser korrekt ud. Men der er problemer med dine frames. Det kræver nemlig mere end 1-2 frames, for at loade dine data ind. Det går nemlig meget hurtigere på din computer, i forhold til den tid det tager at hente data via en server. Derfor skal du loade dine data via et movie klip, hvor der er mindst 15-20 frames tilstede efter actionscript keyframen.
MEN, vi må ikke stirre os blind på dine variable kun: -- her er måske også en lille ting... Alle de steder hvor du validerer med \'pageNr\' burde du angive det som et nummer i Flash 5 Sådan:
Number(pageNr)
Synes godt om
Slettet bruger
21. februar 2001 - 11:17#63
hoejrup: Nu gav jeg den 20 frames mere. Det er samme problem. Men om den lopper mellem 2 frames, eller løber over 20 frames, burde jo også være ligemeget.
Jeg kan med debug se, at den aldrig henter de variable ind for side 2. Reciveded forbliver således 1 altid. Og den looper forevigt. Hvorfor fanden, får den ikke læst de variable ind - når den bliver bedt om det ...
Synes godt om
Slettet bruger
21. februar 2001 - 11:23#67
nikolajdu : Hmm spændende. Så sætter den slet ikke pageNr ind i URL\'en - NÅR SIDE 2 SKAL HENTES. Det virker fint med den URL, når side ét hentes.
I 4’eren hvorfor dog det ;-) Nå, men jeg holder stadig på at du skal angive gloabale variable, slette dem på næste nyhed, og indlæse dem påny, hvor du validerer samtlige strenge...
Synes godt om
Slettet bruger
21. februar 2001 - 11:24#70
Hov, grunden til at det virker for side ét, er iøvrigt ikke spor spændende. Det er bare fordi at PHP, hvis den modtager et ikke gyldigt pageNr (her \"\") retunerer side 1.
Nu har jeg uploadet den og nu virker ingen af dem.... hmmm
Synes godt om
Slettet bruger
21. februar 2001 - 11:51#85
Hos mig virker det perfekt i FLASH => \"Test movie\". Men den virker ikke, hvis man åbner .swf\'en direkte i en browser (IE 5.5). Ej heller på serveren, som vi har set.
Jeg har overvejet om det kunne være et browser cache problem. Det burde det ikke være, eftersom siden kaldes med forskellige parametre (forskellig værdier). Desuden sender jeg en no-cache header fra PHP.
Nå, men bliver nødt til at gå nu, men måske hjælper mine opdagelser...
/Nikolaj
Synes godt om
Slettet bruger
21. februar 2001 - 13:06#90
hoejrup : Sådan skal det gøres ! Jeg fatter ikke hvorfor, men det virkede efter at de POSTS\' røg ud fra både frame 1 og frame 2. Samt da eval() blev fjernet. Skide godt.
mercur8> Velbekomme. Sorry, jeg fik ikke læst din sidste meddelse.
/per
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.