Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-04-2004, 23:22   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Beiträge: 18
array von php an Flash UND Buttonfunktionen an mc

Hi,

ich habe schon alles ausprobiert und bin vielleicht auch einfach zu müde. Ich finde einfach nicht den Fehler. Ich möchte die Daten aus einem array in Flash laden und dann eine bestimmte anzahl an mc's duplizieren.


Die Daten werden von php erfolgreich an Flash gesendet.
Danach geht er zwar in die For-Schleife rein (das überprüfe ich mit dem Textfield Log) aber dubliziert nicht den movieclip.

Wenn ich jedoch den ganzen dupliziercode nicht aus der funktion(OK) aufrufe dann funktioniert es.
Leider ist das dann irgendwie vor dem txt_loader und myar.length ist noch auf 0 gesetzt bzw. myar hat noch keine Daten von der index.php erhalten.?!


Hier funktioniert es nicht :

ActionScript:
  1. //Definition der Variablen
  2. var myar=new Array();
  3. var MCName;
  4. var txt_loader = new LoadVars();
  5.  
  6.  
  7. txt_loader.onLoad = function(OK)
  8. {
  9.    if(OK)
  10.    {
  11.      myar = this.myar.split(";");
  12.         for (var i = 0; i<5; i++)
  13.         {
  14.             log.text ="Schleife";
  15.             this.MCName = "MCButton"+i;
  16.             this.MCButtonOrig.duplicateMovieClip(this.MCName, i);
  17.             this[MCName]._x = 6;
  18.             this[MCName]._y = (this[MCName]._height+5)*i;
  19.             this[MCName].lblText.text = this.myar[i];
  20.             this[MCName].onPress = function() {this[MCName].btn.lblText.textColor ="0xFFF000"}
  21.             this[MCName].onRelease  = function() {this[MCName].btn.lblText.textColor ="0xFFF000"; }
  22.         }
  23.        
  24.        
  25.     } else {log.text ="Fehler beim Laden";}
  26. }
  27. txt_loader.load("index.php");
  28.  
  29.  
  30.  
  31. stop();


Hier funktioniert es zwar, aber das ganze passiert bevor er die Daten von der index.php erhält :
ActionScript:
  1. //Definition der Variablen
  2. var myar=new Array();
  3. var MCName;
  4. var txt_loader = new LoadVars();
  5.  
  6.  
  7. txt_loader.onLoad = function(OK)
  8. {
  9.    if(OK)
  10.    {
  11.      myar = this.myar.split(";");
  12.        
  13.        
  14.        
  15.     } else {log.text ="Fehler beim Laden";}
  16. }
  17. txt_loader.load("index.php");
  18.  
  19. for (var i = 0; i<5; i++)
  20.         {
  21.             log.text ="Schleife";
  22.             this.MCName = "MCButton"+i;
  23.             this.MCButtonOrig.duplicateMovieClip(this.MCName, i);
  24.             this[MCName]._x = 6;
  25.             this[MCName]._y = (this[MCName]._height+5)*i;
  26.             this[MCName].lblText.text = this.myar[i];
  27.             this[MCName].onPress = function() {this[MCName].btn.lblText.textColor ="0xFFF000"}
  28.             this[MCName].onRelease  = function() {this[MCName].btn.lblText.textColor ="0xFFF000"; }
  29.         }
  30.  
  31. stop();

Dann habe ich noch ein weiteres problem:

Ich möchte den mc die funktionen des buttons geben. Wenn ich nach dem duplizieren über den mc gehe, kommt auch die Hand.
Aber es wird nicht dieser code ausgeführt. Weiß einer wieso ?

ActionScript:
  1. this[MCName].onPress = function() {this[MCName].btn.lblText.textColor ="0xFFF000"}
  2.             this[MCName].onRelease  = function() {this[MCName].btn.lblText.textColor ="0xFFF000"; }
Auch hier funktioniert der code wenn ich das einfach so aufrufe:
ActionScript:
  1. this[MCName].btn.lblText.textColor ="0xFFF000";

Ich bin mir sicher das es irgendwas kleines ist, das der code nicht so groß ist. Aber ich komme leider nicht auf die Lösung.

Vielen dank für jede Antwort.

Gruß Jaras
Janon ist offline   Mit Zitat antworten
Alt 28-04-2004, 23:47   #2 (permalink)
Hot's no frogn gebn?!
 
Benutzerbild von Joemoe
 
Registriert seit: Oct 2002
Ort: Vlbg, ÖR
Beiträge: 186
du greifst in deiner funktion ja mit this auf das Loadvars object zu nicht auf deinen mc

pack die ganze schleife in eine funktion und ruf in onLoad = function()
{
funktion();
}

so auf.

sollte gehen!
__________________
www.morgenstille.at
www.treemotion.at
Joemoe ist offline   Mit Zitat antworten
Alt 29-04-2004, 16:28   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Beiträge: 18
hi,

ich hab den code jetzt verändert und so funktioniert es. Leider hab ich immer noch das problem mit den onPress eigenschaften der duplizierten movieclips. Kann mir dazu noch jemand was sagen bzw. Joemoe kannst du mir das nochmal erkären ??meinst du eine funktion in einer funktion ?!


Der aktuelle code
ActionScript:
  1. //Definition der Variablen
  2. var myar=new Array();
  3. var MCName;
  4. var txt_loader = new LoadVars();
  5.  
  6.  
  7. txt_loader.onLoad = function(OK)
  8. {
  9.    if(OK)
  10.    {
  11.      myar = this.myar.split(";");
  12.         loadMC();
  13.        
  14.        
  15.     } else {log.text ="Fehler beim Laden";}
  16. }
  17. txt_loader.load("index.php");
  18.  
  19. function loadMC()
  20. {
  21.    
  22.     for (var i = 0; i<myar.length-1; i++)
  23.         {
  24.             log.text ="Schleife";
  25.             this.MCName = "MCButton"+i;
  26.             this.MCButtonOrig.duplicateMovieClip(this.MCName, i);
  27.             this[MCName]._x = 6;
  28.             this[MCName]._y = (this[MCName]._height+5)*i;
  29.             this[MCName].btn.lblText.text = myar[i];
  30.             this[MCName].onPress = function() {this[MCName].btn.lblText.textColor ="0xFFF000"}
  31.             this[MCName].onRelease  = function() {this[MCName].btn.lblText.textColor ="0xFFF000"; }
  32.         }
  33.    
  34. }
  35.  
  36.  
  37. stop();
Janon ist offline   Mit Zitat antworten
Alt 29-04-2004, 16:54   #4 (permalink)
Hot's no frogn gebn?!
 
Benutzerbild von Joemoe
 
Registriert seit: Oct 2002
Ort: Vlbg, ÖR
Beiträge: 186
statt
ActionScript:
  1. this[MCName].onPress = function() {this[MCName].btn.lblText.textColor ="0xFFF000"}
  2.                 this[MCName].onRelease  = function() {this[MCName].btn.lblText.textColor ="0xFFF000"; }

dieses

ActionScript:
  1. this[MCName].onPress = function() {this.btn.lblText.textColor ="0xFFF000"}
  2.                 this[MCName].onRelease  = function() {this.btn.lblText.textColor ="0xFFF000"; }

weil mit this greifst du direkt auf den clip zu dem du die funktion zuschreibst!
gruß joemoe
__________________
www.morgenstille.at
www.treemotion.at
Joemoe ist offline   Mit Zitat antworten
Alt 29-04-2004, 19:19   #5 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Beiträge: 18
vielen dank !!! Du hast mir echt sehr geholfen.

nur noch eine frage. Leider funktioniert das onRelease noch nicht.
kann das sein, dass ich da noch etwas angeben muss?? Denn das onPress funktioniert.

Gruß Jaras
Janon ist offline   Mit Zitat antworten
Alt 29-04-2004, 22:30   #6 (permalink)
Hot's no frogn gebn?!
 
Benutzerbild von Joemoe
 
Registriert seit: Oct 2002
Ort: Vlbg, ÖR
Beiträge: 186
ist komisch!
kopier mal den ganzen code den du jetzt drin hast ins Forum!
__________________
www.morgenstille.at
www.treemotion.at
Joemoe ist offline   Mit Zitat antworten
Alt 30-04-2004, 12:10   #7 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Beiträge: 18
ahh.. es funktioniert...ich hatte das ein bissel in der Schule getestet und hatte da ein fehler in der html - Datei (da wir dort kein php installiert haben, hab ich ne html datei mit ner ausgabe des arrays gemacht.)

Derzeit rufe ich das ja alles vom _root auf. Angenommen ich möchte das jetzt noch in einem MovieClip packen.

muss ich dann überall noch _root.movieclipname.BLABLABLA
davor setzen ??

Geändert von Janon (30-04-2004 um 12:31 Uhr)
Janon ist offline   Mit Zitat antworten
Alt 30-04-2004, 12:50   #8 (permalink)
Hot's no frogn gebn?!
 
Benutzerbild von Joemoe
 
Registriert seit: Oct 2002
Ort: Vlbg, ÖR
Beiträge: 186
ne sollte so passen!
__________________
www.morgenstille.at
www.treemotion.at
Joemoe 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 12:33 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele