Avatar billede magic28 Nybegynder
09. november 2006 - 10:29 Der er 3 kommentarer og
1 løsning

SWF til SWF kommunikation med LocalConnection

Jeg skal have 2 swf'er til at kommunikere med hinanden. Filerne main.swf (sender) og menu.swf (receiver). Main.swf ligger i en i-frame og menu.swf ligger udenfor den i-frame. Når man klikker på et billede i main.swf skal det relevante link markeres i menuen, således at brugeren ved hvor han er.
Den del af programmeringen som omhandler swf-til-swf kommunikation volder vanskeligheder.

Kode på knap i main.swf (afsender):
on (press) {
section = "about";
talkingLC:LocalConnection = new LocalConnection();
talkingLC.send("simpel_lc", "gotoFrame", sektion);
}


Kode i første frame af menu.swf (modtager/receiver):
stop();
listeningLC = new LocalConnection();
listeningLC.connect("simpel_lc");
listeningLC.gotoFrame = function(sektion) {
if (sektion == "about") {
gotoAndStop(5);
talkingLC.close();
}
if (sektion == "home") {
gotoAndStop(15);
talkingLC.close();
}
};

Nogen der kan gemmenskue, hvad jeg gør forkert?
Avatar billede magic28 Nybegynder
09. november 2006 - 20:56 #1
Jeg har selv set at jeg har stavet sektion med både k og c, men det løste ikke problemet. Er der slet ikke nogen der har et forslag til hvordan problemet med swf-til-swf kommunikation bedst kan løses?
Avatar billede mat Nybegynder
09. november 2006 - 22:39 #2
Hvis du retter "section" alle steder holder jeg en femmer på at det virker.

Lav evt et tekstfelt hvori du skriver værdien af section, altså;

stop();
listeningLC = new LocalConnection();
listeningLC.connect("simpel_lc");
listeningLC.gotoFrame = function(section) {
if (section == "about") {

_txt.text = section;

gotoAndStop(5);
talkingLC.close();
}
if (section == "home") {
gotoAndStop(15);
talkingLC.close();
}
};

mvh mat
Avatar billede mat Nybegynder
09. november 2006 - 22:40 #3
hov, "_txt.text = section;" skulle stå udenfor betingelsen...
Avatar billede magic28 Nybegynder
19. november 2006 - 13:04 #4
Til "mat" - Tak for dit svar. Jeg fik aldrig ovenstående til at virke, men jeg fandt en anden løsning på problemet.

Den løsning poster jeg her. Måske kan det hjælpe andre:

Kode i første frame af main.swf (afsender):

ringetoner_btn.onRelease = function() {
    sendButtonStuff("label1");
};
billeder_btn.onRelease = function() {
    sendButtonStuff("label2");
};
//---------------------------------------------------------------------------
function sendButtonStuff(frameNum) {
    outgoing_lc = new LocalConnection();
    outgoing_lc.send("lc_test", "testme", frameNum);
    delete outgoing_lc;
}

Kode i første frame af menu.swf (modtager):

stop();
if(!initialized)
{
  initialized = true;
  incoming_lc = new LocalConnection();
  incoming_lc.connect("lc_test");
// 'lc_test' navnet skal matche local connection navnet i sender-movie
//---------------------------------------------------------------------------
  //Modtager en parameter
  incoming_lc.testme = function (param){
      gotoAndPlay(string(param));
  }
}
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