Avatar billede snuf Nybegynder
25. marts 2004 - 18:53 Der er 19 kommentarer og
1 løsning

Variabler i Flash og HTML

Findes der en lösning på nedenstående Flash/HTML-problem, der virker i andre browsere end IE?

http://www.eksperten.dk/spm/235510

/snuf
Avatar billede barklund Nybegynder
25. marts 2004 - 20:54 #1
LocalConnection - virker i alle browsere men kun fra Flash MX og frem.

actionscript.org har en tutorial der er god, men deres site er vist nede lige pt.
Avatar billede snuf Nybegynder
26. marts 2004 - 09:38 #2
Tak, Barklund...

Nedenstående link viser hvordan man sender tekst mellem to Flashfiler.

http://www.macromedia.com/support/flash/ts/documents/flash_to_flash_comm.htm

Det jeg specifikt leder efter, er et eksempel på hvordan man fra den ene Flashfil ('1.swf') bestemmer hvordan en anden Flashfil ('2.swf') skal opföre sig.

Altså:

"Ved klik på knap i '1.swf', gå til og afspil fra frame nr. 20 i '2.swf'"

Hvordan göres dette? Findes det evt. en specifik tutorial et sted, eller ved nogen hvordan man gör? Jeg smider gerne flere point efter den der har svaret.

Venligst,

Snuf
Avatar billede barklund Nybegynder
26. marts 2004 - 10:17 #3
Som sagt, actionscript.org:

http://actionscript.org/tutorials/intermediate/LocalConnections/index.shtml

Den giver dig, præcis hvad du søger :)

Men i 1.swf:

talking_lc = new LocalConnection();
talking_lc.send("intern", "playframe", 20);

Og i 2.swf:

listening_lc = new LocalConnection();
listening_lc.playframe = function(frame) {
    gotoAndPlay(frame);
}
listening_lc.connect("intern");

That's it :)

// Morten Barklund
Avatar billede snuf Nybegynder
26. marts 2004 - 11:55 #4
Tak! Jeg kikker på det senere. Skal på arbejde nu.

Én ting er dog uklart for mig (og dér hjälper dit link mig desvärre ikke): På hvilke elementer i de pågäldende .swf-filer sätter jeg dine scripts på? Jeg antager at förste script skal sidde på knappen i 1.swf? Men hvor placerer jeg det andet script?

På forhånd tak.

/Snuf
Avatar billede barklund Nybegynder
27. marts 2004 - 16:49 #5
Det andet script lægger du bare i en frame i 2.swf. Så står den hele tiden og lytter. Det skal IKKE lægges i et frameloop - det er ikke nødvendigt.
Avatar billede snuf Nybegynder
28. marts 2004 - 12:08 #6
Tak. Jeg pröver.
Avatar billede snuf Nybegynder
29. marts 2004 - 10:26 #7
Det funker helt perfekt. Tak for assistancen.

/snuf

PS: Smider du lige et svar?
Avatar billede barklund Nybegynder
29. marts 2004 - 10:33 #8
Oki ;)
Avatar billede barklund Nybegynder
29. marts 2004 - 17:27 #9
Tark for points ;)
Avatar billede snuf Nybegynder
29. marts 2004 - 17:37 #10
NP!
Avatar billede snuf Nybegynder
22. september 2004 - 19:11 #11
Et tillägsspørgsmål (her et halvt år senere)...

Hvad hvis jeg vil sende en kommando til en specifik Flashfil? Altså at eks. 'master.swf' skal sende en kommando ud til eks. 'slave03.swf', som er én blandt andre "slave-filer"? De andre "slavefiler" skal ikke have nogen kommando.

Hvordan lokaliserer jeg den specifikke Flashfil som skal have kommandoen?

Jeg giver naturligvis gerne flere point for et svar!
Avatar billede barklund Nybegynder
22. september 2004 - 19:14 #12
Du laver en localconnection til hver af dine flash filer. Slave03 lytter så som:

listening_lc.connect("slave_03");

Og så kan din master sende en kommando til denne kun.
Avatar billede snuf Nybegynder
22. september 2004 - 19:29 #13
(Imponerende med et svar indenfor tre minutter, efter et halvt års pause!)

Men.. Kan ikke rigtigt få det til at funke..

Jeg forstår det på den måde, at istedet for at skrive 'intern' skal jeg skrive navnet på den fil det drejer sig om? Er det rigtigt forstået? Og er det både på 'Master' og 'Slave'?

Skal der ikke også väre en extension på filnavnet?

På forhånd tak.
Avatar billede barklund Nybegynder
22. september 2004 - 20:38 #14
Nej, du skal lave en specifik yderligere listener i din slave og en yderligere afsender i din master, hvor du har erstattet "intern" fra ovenstående eksempel med en specifik "protokol" som kun disse to filer skal snakke sammen over. Og skal du have en specifik protokol til alle dine slaver, skal du lave en i hver.
Avatar billede snuf Nybegynder
24. september 2004 - 09:03 #15
Således at det (med afsæt i dit tidligere, ovenstående eksempel) ser sådan ud:

'Master':

talking_lc = new LocalConnection();
talking_lc.send("intern", "playframe", 20);
talking_lc.connect("slave_03");

Og 'Slave':

listening_lc = new LocalConnection();
listening_lc.playframe = function(frame) {
    gotoAndPlay(frame);
}
listening_lc.connect("intern");
listening_lc.connect("slave_03");

?
Avatar billede barklund Nybegynder
24. september 2004 - 10:00 #16
Nej? Du vil sende én besked fra master til slave_03? Og ikke andet? Eller skal der også sendes andre beskeder?
Avatar billede snuf Nybegynder
24. september 2004 - 10:44 #17
Der skal fra 'Master' sendes beskeder ud til individuelle 'Slaves'. De andre "slavefiler" skal ikke have nogen kommando.
Avatar billede snuf Nybegynder
24. september 2004 - 10:46 #18
.. eller sagt på en anden måde:

Jeg vil fra min 'Master' dirrigere de enkelte slaves. Én af gangen!
Avatar billede barklund Nybegynder
24. september 2004 - 10:55 #19
Så laver du i hver sin slave én, der lytter på en specifik "port":

listening_lc = new LocalConnection();
listening_lc.playframe = function(frame) {
    gotoAndPlay(frame);
}
listening_lc.connect("slave_XX");

Hvor XX er dens nummer.

Så kan du i din master dirigere nummer XX til en frame ved at skrive:

talking_lc = new LocalConnection();
talking_lc.send("slave_XX", "playframe", 20);

Det er da ret simpelt? Jeg kan ikke rigtig se hvad problemet skulle være...

--
Morten Barklund
Avatar billede snuf Nybegynder
26. september 2004 - 18:54 #20
Nu virker det glimrende.

Jeg har oprettet et nyt spörgsmål med point til dig under navnet: "Point til Barklund".

Mange tak for hjälpen.

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