Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-10-2003, 21:48   #1 (permalink)
Neuer User
 
Registriert seit: May 2003
Beiträge: 43
MC duplizieren

Hi

ich komm mal wieder mit einem Härtfall unter den Problemen zu euch


Ich habe einen MC, mit der Instanz "z1". In diesem MovieClip gibt es einen Button :
ActionScript:
  1. on (release) {
  2.     _root.flightid = _root.Flug[i][0];
  3.     _root.flughafen2 = _root.Flug[i][3];
  4.     _root.icao2 = _root.Flug[i][4];
  5.     _root.typ2 = _root.Flug[i][2];
  6.     _root.startzeit2 = _root.Flug[i][5];
  7.     _root.ankunftszeit2 = _root.Flug[i][6];
  8.     _root.punkte2 = _root.Flug[i][8];
  9.     _root.nummer2 = _root.Flug[i][1];
  10.     liste = new LoadVars();
  11.     liste.load("ofmfunctions.php?action=flightbook&userid="+_root.user+"&flightid="+_root.flightid);
  12.     liste.onLoad = function(mega) {
  13.         if (mega) {
  14.             tellTarget ("_root") {
  15.                 nextFrame();
  16.             }
  17.         }
  18.     };
  19. }

Überall wo jetzt "i" stand, steht in wirklichkeit "1", da es sich ja um den MC z1 handelt. Dieser MC wiederum ist in einem weiteren MC (inhalt), damit ich hn nacher in einem Scrollpane anzeigen kann.

Jetzt zu meinem Problem:

Ich lade einen String aus PHP ein, der so aussieht:
PHP-Code:
&str=Hallo,ich,habe,einProblem|Gut,ich,habe,dieLösung|Dankesehr,nett 
Jetzt wird der string gesplittet, und das erste Paket (alles zwischen den "|" ) wird im MC z1 angezeigt. Jetzt will ich den MC z1 so oft per AS duplizieren, wie es "Pakete" gibt die durch die Splittung des Strings enstanden sind. Die MCs sollen dabei zB z[i] , also zB z34 heißen und untereinander ,wie eine Tabelle, im MC (inhalt) augelistet werden. AUßerdem soll die Action des Buttons automatisch angepasst werden.

WIe ich vorher gesagt habe, ein echter Härtefall Geht sowas überhaupt mit AS?#

Mfg Fabian


PS: Ich hoffe ich hab mich einigermaßen verständlich ausgedrückt ;
Laptop ist offline   Mit Zitat antworten
Alt 04-10-2003, 23:37   #2 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
ActionScript:
  1. tellTarget ("_root") {
  2.                                 nextFrame();
  3.                         }


...watt das ?

verständlicher gefragt: was passiert in diesem frame, welches
mittels einer f4-syntax angesteuert wird ?
wo passiert der split ?
warrantmaster ist offline   Mit Zitat antworten
Alt 05-10-2003, 11:32   #3 (permalink)
Neuer User
 
Registriert seit: May 2003
Beiträge: 43
ok, dann mal ganz ausführlich:

[hier der Code der Frame in der das alles passiert]

ActionScript:
  1. // Läd Inhalt
  2. liste = new LoadVars();
  3. liste.load("ofmfunctions.php?action=showflights_"+was+"&airport_id="+airport+"&zufall="+random(9999));
  4. liste.onLoad = function(genial) {
  5.     if (genial) {
  6.         _root.Flug = this.str.split('|');
  7.         for (var i = 0; i<Flug.length; i++) {
  8.             _root.Flug[i] = _root.Flug[i].split(',');
  9.         }
  10.     }
  11.     // Ausblenden von überflüssigen Zeilen
  12.     for (t=0; t<100+1; t++) {
  13.         if (_root.Flug[t][0] == unidentifed) {
  14.             _root.scroll.tmp_mc["z"+(t+1)]._visible = false;
  15.         }
  16.     }
  17. //für jetzt unwichtig
  18.  
  19.     for (f=0; f<100+1; f++) {
  20.         if (_root.Flug[f][7] == "YES") {
  21.             _root.scroll.tmp_mc["z"+(f+1)].was.gotoAndStop(2);
  22.         }
  23.     }
  24.     for (a=0; a<100+1; a++) {
  25.         if (_root.Flug[a][8] == _root.usr_rating) {
  26.             _root.scroll.tmp_mc["z"+(a+1)].was.gotoAndStop(3);
  27.         }
  28.     }
  29. //Werte werden übergeben
  30.     for (i=0; i<100+1; i++) {
  31.         _root.scroll.tmp_mc["z"+(i+1)].ont1.text = _root.Flug[i][3];
  32.         _root.scroll.tmp_mc["z"+(i+1)].ont2.text = _root.Flug[i][4];
  33.         _root.scroll.tmp_mc["z"+(i+1)].ont3.text = _root.Flug[i][2];
  34.         _root.scroll.tmp_mc["z"+(i+1)].ont4.text = _root.Flug[i][5];
  35.         _root.scroll.tmp_mc["z"+(i+1)].ont5.text = _root.Flug[i][6];
  36.         _root.scroll.tmp_mc["z"+(i+1)].ont6.text = _root.Flug[i][8];
  37.         _root.scroll.tmp_mc["z"+(i+1)].ont7.text = _root.Flug[i][1];
  38.     }
  39. };

ICh hab jetzt 70 Zeilen der Tabelle von Hand erstellt, die, wenn sie nicht gebraucht werden, ausgeblendet werden. DOch ich würde das ganze sehr gerne per AS machen.
Laptop ist offline   Mit Zitat antworten
Alt 05-10-2003, 14:02   #4 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
naja, ob ich dich richtig verstanden hab ???

ActionScript:
  1. _root.createEmptyMovieClip('holder', 0);
  2. var str = "Hannover,Abflug:   19:30 Uhr ,Ankunft: 21:25 Uhr ,Checkin:  19:00 Uhr|New York,Abflug:   14:20 Uhr ,Ankunft: 23:15 Uhr ,Checkin:  13:30 Uhr|Perth,via: Singapore ,Abflug:   10:10 Uhr ,Ankunft: 01:25 Uhr ,Checkin:  09:00 Uhr";
  3. tf = new TextFormat();
  4. tf.font = "ARIAL";
  5. tf.color = 0x006633;
  6. tf.size = 14;
  7. tf1 = new TextFormat();
  8. tf1.font = "ARIAL";
  9. tf1.color = 0x000099;
  10. tf1.size = 10;
  11. Flug = str.split('|');
  12. for (var i = 0; i<Flug.length; i++) {
  13.     Flug[i] = Flug[i].split(',');
  14. }
  15. trace(Flug.length);
  16. for (var i = 0; i<Flug.length; i++) {
  17.     var mc = _root.holder.createEmptyMovieClip('haupt'+i, i);
  18.     for (var j = 0; j<Flug[i].length; j++) {
  19.         _root.holder['haupt'+i].createTextField('txt'+j, j, 0, j*20, 100, 20);
  20.         _root.holder['haupt'+i]['txt'+j]._y = j*15;
  21.         _root.holder['haupt'+i]['txt'+j].htmlText = Flug[i][j];
  22.         _root.holder['haupt'+i]['txt'+j].setTextFormat(tf1);
  23.         _root.holder['haupt'+i]['txt'+0].setTextFormat(tf);
  24.     }
  25.     mc._y = i*80;
  26. }

einfach mal c&p in frame 1 einer leeren fla.
warrantmaster ist offline   Mit Zitat antworten
Alt 05-10-2003, 14:12   #5 (permalink)
Neuer User
 
Registriert seit: May 2003
Beiträge: 43
Hi,

also im Grunde hast du mich richtig verstanden. ABer ich erklärs einfach nochmal:

Also, ich habe von einer Tabelle eine komplette Zeile erstellt und als MC "z1" abgespeichert. In diesem MovieClip gibt es 5 dynamische Textfelder, also praktisch 5 Spalten einer Tabelle, in die ich den Ihnalt hineinlade. Ein "Paket des Strings" für eine Zeile". Sollte der String jetzt mehrere "Pakete (also zB &str=hallo,du|wie,gehts,dir|mir,gehts,gut|&)" enthalten, soll das Script automatisch den MC z1 so oft untereinander kopieren, das für jedes Paket eine Zeile in der Tabelle entsteht. In diesem Beispiel müsste der MC insgesamt 3 mal vorhanden sein, mit den Instanzen "z1,z2 und z3".
Laptop ist offline   Mit Zitat antworten
Alt 05-10-2003, 14:28   #6 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
...naja...ist ja eigentlich das, was ich oben gepostet hab. die instanznamen auszutauschen und von create auf
duplikat umstellen, das wirst du können (wenn ich dein script anschaue)

grz
warrantmaster ist offline   Mit Zitat antworten
Alt 05-10-2003, 17:04   #7 (permalink)
Neuer User
 
Registriert seit: May 2003
Beiträge: 43
dann scheint das zu täuschen Ich hab mit createEmptyMovieClip null Erfahrung. Ich weiß zB nicht, wie ich jeder Zeile eine eigene Action beim Button zuweise, auch weiß ich nicht wo ich angeben muss welcher MC dupliziert werden muss .
Laptop 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 20:19 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele