Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash MX 2004

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-01-2009, 21:10   #1 (permalink)
live and experie
 
Benutzerbild von anjoflo
 
Registriert seit: Feb 2004
Ort: Heilsbronn / Bayern
Beiträge: 188
unterschiedliche MC in Bühne laden..

Hi Freunde,

folgende Anwendung:

über eine "index.php" ist meine Bühne "start.swf" eingebunden.
In der "start.swf" lade ich wiederum via AS verschieden MC's an verschiedene Positionen:

lade MC1 an Pos. 0x0
lade MC2 an Pos. 100x50
lade MC3 an Pos. 200x50
u.s.w.

Jetzt möchte ich, wenn ich beim Aufruf der index.php eine bestimmte Variable in Form einer Kennung übermittle
PHP-Code:
index.php?kenn=12345 
ebenso die "start.swf" einbinden, aber an einer Stelle der MC's ein anderen MC laden:

lade MC1 an Pos. 0x0
lade MC2a an Pos. 100x50
lade MC3 an Pos. 200x50
u.s.w.

Ich komme da irgend wie nicht weiter...

...wer kann mir da helfen?

Danke
anjoflo ist offline   Mit Zitat antworten
Alt 08-01-2009, 07:52   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Setz eine if-Abfrage mit der du _root.kenn abfragst, bspw.:
PHP-Code:
if(_root.kenn=="12345"){
   
_root.createEmptyMovieClip("mc2a",_root.getNextHighestDepth());
   
_root.mc2a._x 100;

  Mit Zitat antworten
Alt 08-01-2009, 08:27   #3 (permalink)
live and experie
 
Benutzerbild von anjoflo
 
Registriert seit: Feb 2004
Ort: Heilsbronn / Bayern
Beiträge: 188
Hi Holger,

ich hatte vergessen zu sagen, dass ich die Kennung über einen Link "index.php?kenn=12345" aus einer Email heraus übertrage und die index.php dadurch öffne.
Nun habe ich die Kennung in der php aber kann sie an Flash nicht weiter übergeben, da der Film doch bereits geladen ist.
Ich überlege schon, ob ich via Session die Kennung temporär in eine Tabelle abspeichere und aus dem Film heraus diese Session aufrufe...

oder geht's doch noch einfacher?

Gruß Jochen
anjoflo ist offline   Mit Zitat antworten
Alt 08-01-2009, 08:44   #4 (permalink)
Crème brûlée
 
Registriert seit: Jan 2006
Ort: Düsseldorf
Beiträge: 724
Wenn du die Seite index.php öffnest ist die SWF doch noch nicht geladen. Es sollte also kein Problem sein, über FlashVars diesen Parameter weiterzugeben. Oder hab ich da was falsch verstanden?
laxersaz ist offline   Mit Zitat antworten
Alt 08-01-2009, 09:08   #5 (permalink)
live and experie
 
Benutzerbild von anjoflo
 
Registriert seit: Feb 2004
Ort: Heilsbronn / Bayern
Beiträge: 188
Hi laxersaz,

das könnte vielleicht gehen. Das schaue ich mir mal heute Abend genauer an.

Vielen Dank
anjoflo ist offline   Mit Zitat antworten
Alt 08-01-2009, 23:38   #6 (permalink)
live and experie
 
Benutzerbild von anjoflo
 
Registriert seit: Feb 2004
Ort: Heilsbronn / Bayern
Beiträge: 188
Moin... (schon wieder nach Mitternacht grrrr)

mir gehen bald die letzten Haare aus...

Ich habe nun mittlerweile meine o.g. Idee aufgegriffen.
Ich erzeuge eine Session und trage die Session-ID sowie die übergebene Kennung in eine Tabelle ein.
Übergebe ich keine Kennung, steht der Wert 0 in der Tabellenzelle.

Nachfolgend werte ich in einer anderen php-Datei die Kennung aus:
PHP-Code:
$todo "SELECT * FROM table_c WHERE c001 = '$ses_id'";
    
$ergebnis mysql_db_query($db_name$todo);
    
$inhalt mysql_fetch_array($ergebnis);
  
$kenn $inhalt["c007"];
  if (
$kenn == "0"){$txt01 "willkommen";
  }    else {
$txt01 "registrierung_ok";};
      
echo 
"&txt01=".$txt01."&"
Jenachdem, ob die Kennung = 0 ist oder nicht, übergebe ich an den MC (Bühne) die entsprechenden Text "willkommen" oder "registrierung_ok".

Und jetzt kommt das neue Problem...

Die Texte entsprechen den Dateinamen der externen MC's, die ich in die Bühne laden möchte. Aber es geht irgendwie nicht. (rot markiert)
Die fest eingetragenen MC's laden sich problemlos.

Code:
var daten = new LoadVars();
daten.f0001 = "aufgabe009"; // export der Aufgabe 'a009'
daten.sendAndLoad("php/php100.php?action=write&r="+random(999), daten, "POST");
daten.onLoad = function(success) {
if (success) {link = this.txt01;}
};

mc_a_01._x = 0;
mc_a_01._y = 0;
mc_a_01.loadMovie("swf/logo.swf");
mc_a_02._x = 160;
mc_a_02._y = 0;
mc_a_02.loadMovie("swf/werbung.swf");
mc_a_03._x = 0;
mc_a_03._y = 100;
mc_a_03.loadMovie("swf/suchen.swf");
mc_a_04._x = 160;
mc_a_04._y = 80;
mc_a_04.loadMovie("swf/menue.swf");
mc_a_05._x = 160;
mc_a_05._y = 100;
datei = "swf/"+link+".swf";
mc_a_05.loadMovie(datei);
mc_a_06._x = 300;
mc_a_06._y = 140;
mc_a_06.loadMovie("swf/blank.swf");
mc_a_07._x = 0;
mc_a_07._y = 140;
mc_a_07.loadMovie("swf/onlinecounter.swf");
mc_a_08._x = 0;
mc_a_08._y = 200;
mc_a_08.loadMovie("swf/userlogin.swf");
mc_a_09._x = 0;
mc_a_09._y = 360;
mc_a_09.loadMovie("swf/newsletter.swf");
mc_a_10._x = 0;
mc_a_10._y = 400;
mc_a_10.loadMovie("swf/platzhalter.swf");
mc_a_11._x = 0;
mc_a_11._y = 0;
mc_a_11.loadMovie("swf/blank.swf");
Ich bekomme einfach nicht meinen übermittelten Link aus der PHP als MC geladen...

Vielen Dank vorab und gute Nacht
anjoflo ist offline   Mit Zitat antworten
Alt 09-01-2009, 07:29   #7 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Ein onLoad-Callback wird erst gefeuert, wenn auch tatsächlich Daten eingehen. D.h., der wartet die ganze Zeit im Hintergrund und das kann natürlich beliebig lange dauern. Du versuchst aber, sofort auf Daten zuzugreifen, die noch nicht geladen wurden. Mit ein paar traces wäre dir das auch sicher aufgefallen...

Bei asynchronen Funktionen musst du halt warten, bis die entsprechenden Variablen gefüllt sind. Leg deine Variablenliste also in die onLoad-Funktion...
PHP-Code:
daten.onLoad = function(success) {
   if (
success) {
      
link this.txt01;
      ...
      
datei "swf/"+link+".swf";
      
mc_a_05.loadMovie(datei);
      ...
   }
}; 
  Mit Zitat antworten
Alt 09-01-2009, 07:45   #8 (permalink)
live and experie
 
Benutzerbild von anjoflo
 
Registriert seit: Feb 2004
Ort: Heilsbronn / Bayern
Beiträge: 188
Moin Holger,

danke für deine Antwort.
Das erklärt mir auch, warum ich den Text aus der php anzeigen lassen konnte, wenn ich die Variable in ein dyn. Textfeld gelegt habe.
Das habe ich noch innerhalb der onLoad Funktion getan:

PHP-Code:
daten.onLoad = function(success) {
   if (
success) {
      
link.text this.txt01;
    }
}; 
Super, danke.

Kann es jetzt leider nicht austesten - bin an der Arbeit
anjoflo ist offline   Mit Zitat antworten
Alt 09-01-2009, 20:19   #9 (permalink)
live and experie
 
Benutzerbild von anjoflo
 
Registriert seit: Feb 2004
Ort: Heilsbronn / Bayern
Beiträge: 188
Holger...

es funktioniert bestens...

.. Danke nochmals
anjoflo ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 08:27 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2014 Marc Thiele