{lang: 'de'}
Flashhilfe.de - Flash Community

Übergabe Variable/Wert von SWF A nach B [Flash CS5]

 


AntwortenRegistrieren Seite1  

Allertaler#1
Benutzerbild von Allertaler
Beiträge: 2
Registriert: Sep 2014

16.09.2014, 16:30

Hallo,
ich habe ein Problem, auf dessen Lösung ich einfach nicht kommen will, auch nicht nach Suchen im www:

Ich habe eine SWF A (Air für Desktop) in der ich mittels Button einen Wert an SWF B, die sich in einem separatem Fenster befindet (per NativeWindow aus SWF A gestartet), übergeben möchte. So wollte ich es lösen:

Eine Klasse ControlSpieldaten wird von beiden SWF instanziiert, so dass beide zugreifen können. SWF A gibt einer Variable spielzeit nach Button-Klick einen Wert "2" (soweit korrekt):
ActionScript:
1btn_testZeit.addEventListener(MouseEvent.CLICK, spieldaten.spielzeitNeu);

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
package
{
     import flash.events.MouseEvent;
           
     public class ControlSpieldaten
     {
        public var spielzeit:String;
        
        public function ControlSpieldaten()
        {
           spielzeit = "1";
           trace(spielzeit);
        }      
        
        public function spielzeitNeu(evt:MouseEvent):void
        {
           spielzeit = "2";
           trace(spielzeit);
        }
 
        public function spielzeitAnzeige():String
        {
           return spielzeit;
           trace("spielzeit.Taste = " + spielzeit);
        }
     }
}

... und in SWF B wurde in der Basisklasse ebenfalls die obige Klasse instanziiert...
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package {
     
     import flash.display.MovieClip;
     
     import ControlSpieldaten;
 
     public class ScreenInit extends MovieClip
     {
        // Instanz ControlSpieldaten
      public var spieldaten:ControlSpieldaten = new ControlSpieldaten();
        
        public function ScreenInit()
        {         
           txt_spielzeit.text = spieldaten.spielzeit;
        }
     }
}

Wenn ich in SWF B auf Frame 6 springe soll der geänderte Wert ausgelesen werden (also "2"). Dort steht dann...
ActionScript:
1txt_spielzeit.text = spieldaten.spielzeitAnzeige();

Angezeigt wird aber hier "1". Wo liegt mein Denkfehler? Wird der Konstruktor von ControlSpieldaten in Frame 6 etwa noch einmal aufgerufen und überschreibt den Wert?

Danke schon mal für Eure Hilfe. Ich hoffe, ich habe mich verständlich ausgedrückt.

Gruß Sven
Geändert von Allertaler am 17.09.14 um 10:08 Uhr

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2024 Sebastian Wichmann - Flashhilfe.de