1&1 DSL
Flashhilfe.de - Flash Community

Local Connection in Browsern [Flash 9]

Forum > ActionScript 3.0 > Local Connection in Browsern

 


AntwortenRegistrieren Seite1  

 25.05.2009, 17:39 
Beiträge: 116
Registriert: Feb 2007

Local Connection in Browsern
Hallo, ich habe mehrere Flashfilme die über eine Local Connection kommunizieren. Das Problem ist nun, dass diese auf einer Webseite eingebunden sind. Da der User in der Lage ist eine Seite in mehreren Tabs zu öffnen heißt das, dass auch die Flashfilme mehrmals geöffnet sind. Was dazu führt dass die Local Connection nur in einem Browserfenster funktioniert usw... Wie umgeht man das. Oder gibt es da irgend eine Lösung? Hoffe jemand kann mir helfen...
 26.05.2009, 11:00Re1
Beiträge: 116
Registriert: Feb 2007

Themenautor/in

Mal noch ein Beispiel damit jeder versteht was ich meine.

http://www.flashjunior.ch/school/flashmx-kurs2/day3/localconnection/

Wenn man diese Seite nun in 2 Tabs öffnet dann werden die Aktionen die vom Sender ausgehen immer nur im Empfänger des zu erst geöffneten Tabs ausgeführt. Also einfach mal im 2. Tab ganz unten auf der Seite Text rein schreiben und man wird sehen, dass der Text hier im Empfänger nicht erscheint. Wechselt man nun in den 1. Tab sieht man hier den zuvor getippten Text.

Wie kann man dieses Problem umgehen/lösen/austricksen... ???
 26.05.2009, 11:23Re2
Beiträge: 116
Registriert: Feb 2007

Themenautor/in

So hab nun doch ne Seite dazu gefunden. Super :)

http://www.rockitbaby.de/it/localconnection/index.html

Werd mir das nun mal anschauen.
 
nicht sichtbar bei eingeloggten Mitgliedern
 26.05.2009, 16:34Re3
Beiträge: 116
Registriert: Feb 2007

Themenautor/in

So also ich hab mir meine datei mal nachgebaut und nun komm ich nicht so recht weiter.

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
//Empfänger

package {
   
   import flash.display.Sprite;
   import flash.net.LocalConnection;
   import flash.text.TextField;
   import flash.display.MovieClip;
   import flash.events.MouseEvent;
      
   public class RecieverMain extends Sprite {
      
      private var getMouse_lc:LocalConnection;
      private var i:Number = 0;

      public function RecieverMain():void {

         connectMouse();
      }      
      
// *****************  Local Connections
      public function connectMouse():void {
         getMouse_lc = new LocalConnection();
            getMouse_lc.client = this;
         
         try {
                getMouse_lc.connect("kanal" + i);
            trace_txt.appendText("kanal" + i + "\n");
            } catch (error:ArgumentError) {
                trace_txt.appendText("Can't connect...the connection name is already being used by another SWF");
            i++;
            trace_txt.appendText("kanal" + i + "\n");
            }
      }
      
      // Local Connection Funcktion wird aufgerufen
      public function getFromLC(X, Y):void {         
         teil_mc.x = X;
         teil_mc.y = Y;
      }
   }
}

//Sender
package {
   
   import flash.display.Sprite;
   import flash.events.MouseEvent;
   import flash.events.StatusEvent;
   import flash.net.LocalConnection;
   import flash.display.MovieClip;
   import flash.text.TextField;

   
   public class SenderMain extends Sprite {
      
      private var sendMouse_lc:LocalConnection;
      private var i:Number = 0;
      
      public function SenderMain():void {
                  
         sendMouse_lc = new LocalConnection();
         sendMouse_lc.addEventListener(StatusEvent.STATUS, on_Status);
         
         stage.addEventListener(MouseEvent.MOUSE_MOVE, MouseMove);
      }
      
      private function on_Status(e:StatusEvent):void {
         switch(e.level) {
            case "status": ;
               trace_txt.appendText("LocalConnection.send() succeeded");
               break;
            case "error": ;
               trace_txt.appendText("LocalConnection.send() failed");
               break;
         }         
      }
      
      private function MouseMove(e:MouseEvent):void {
         sendMouse_lc.send("kanal" + i, "getFromLC", this.mouseX, this.mouseY);
         trace_txt.appendText("kanal" + i + "\n");
      }
   }
}


Nun ändert der Empfänger seinen Kanal wenn er keine Verbindung bekommt, das Prob ist nur wie kann ich jetzt dem andern mitteilen dass er seinen Kanal auch ändern soll? Müsste man ja nun über 10 Ecken machen. Irgendwie müsste der Sender schauen ob er schonmal geöffnet ist, und dann seinen Kanal ändern....

Hat jemand eine Idee?
 24.06.2009, 15:11Re4
Benutzerbild von grehoo
Beiträge: 224
Registriert: Mar 2008

wenn beide im gleichen html (php) dokument sind könntest du eine flashvar mit der aktuellen unixzeit (mit einem timestamp) versehen und den timestamp als kanal verwenden. besser du definierst den timestamp einmalig und übergibst die variable an beide swfs.
--------------------------------------------------------------------------------------------------------------------
gregor schieke
--------------------------------------------------------------------------------------------------------------------
 
Themen
Ähnliche Beiträge zum Thema
 

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.
Partner Webseiten: DesignerInAction.de   Designnation.de   Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   PSD-Tutorials.de   Tutorials.de

Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2012 Sebastian Wichmann - Flashhilfe.de