PDA

Volledige versie bekijken : Variable vullen tussen swf files


Animal Brown
%Europe/Berlin %559 %2005, 14:26
Ik heb 2 swf bestanden. Vanuit bestand1 wordt door middel van een button de volgende actie uitgevoerd.

on (release) {
var Information = "Mijn tekst"
_root.mplayer.loadMovie('bestand2.swf');
}

In bestand2 wordt is een "Dynamic tekst" tekstobject aangemaakt met als var name "Information".
In bestand 1 wordt nu bij het klikken op de button, zoals het moet, een mooi kadertje (bestand2) getoond. Helaas.... "Mijn tekst" komt niet in het scherm.

Voor de duidelijkheid, de info (het tekstkader) uit bestand2 komt als het ware bovenop de informatie van bestand1 te staan)

Ik krijg de melding "_level0.mplayer.Information".

De hamvraag is dus: Hoe krijg ik een variabele in bestand2 gevuld met de gedeclareerde waarde die is ingegeven in bestand 1.

P.s. De helpfile "An example of communication between Macromedia Flash movies" op de micromadia site werkt alleen in IE. In firefox werkt het niet. dat was dus geen optie.

Ik hoop dat iemand me kan helpen.
Alvast bedankt.

theFlashWizard
%Europe/Berlin %562 %2005, 14:30
je laad die movie dus in mplayer, als je daarin die variabele beschrijft lukt het wel..
mplayer.varnaam = "waarde"
al zou ik het het vullen van een textfield met een instancename doen:
mplayer.instancenameoftextfield.text = "waarde"
wel de var weghalen van het textfield en een instancename opgeven.

Animal Brown
%Europe/Berlin %572 %2005, 14:44
thank, we gaan aan de freubel :)

Tha Narie
%Europe/Berlin %648 %2005, 16:34
Deel 1 van je antwoord klopt niet, of is in ieder geval een beetje vaag.
Deel 2 van je antwoord klopt wel ;)

@ps. Dit heeft alleen nut in los-staande SWFjes (ik neem aan dat je LocalConnection bedoelt, wat ook in FireFox zou moeten werken). Hier hoef je dus niet naar te kijken.

Als je vanuit een hoofdSWF een subSWF laadt, kan je hier pas dingen mee doen als deze (bijna) volledig is ingeladen. Meestal pas enkele frames later. Dit in dezelfde functie/actie doen heeft dus totaal geen nut.

Om het te laten werken zijn een aantal mogelijkheden:

- MovieClipLoader gebruiken (is sowieso een aanrader). Hier kan je de code in de onLoadInit-handler zetten, welke wordt aangeroepen als de geladen SWF is ingeladen en geïnit. Hier doe je dan naam_van_mc.naam_van_tf.text = "waarde';

- Je kunt ook (als er altijd een waarde in het textfield van de subSWF moet komen) vanaf de subSWF zelf de variable in de hoofdSWF opvragen.
Op deze manier kun je dus wel in dezelfde actie een variable setten, en dan deze in de subSWF opvragen met : naam_van_tf.text = _parent.variable;
Zorg er hier wel voor dat de variable beschikbaar is op de _parent timeline van de MC waar de subSWF wordt ingeladen, en dat hij dus niet ergens lokaal in een functie staat.

Animal Brown
%Europe/Berlin %635 %2005, 16:15
Ik heb even een paar testdocumentjes gemaakt en ben er achter gekomen dat ik van flash &%$*# :mad: niet veel snap (Geloof ik).

Ik probeer de bestandje aan dit document te koppelen. Ik hoop dat er iemand is die de tijd wil nemen deze bestanden eens te bekijken.
Bestand1.fla en bestand2.fla zitten in de zip upload.zip

b.v.d.