Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-10-2003, 10:28   #1 (permalink)
Neuer User
 
Benutzerbild von litL1
 
Registriert seit: Oct 2003
Ort: Italia
Beiträge: 71
Question Load viele Vars in viele dyn. Textfelder von einer .txt

Hi

Bin ein Fresh-Flashling - Flash-Frischling, sowie auch AS, programming und Flashforum, sind neu für mich, also...err, eeh... (dazu kommt noch das es manchmal mit der Deutschen Sprache hapert, aber egal...)

Habe mich halbwegs durch eine art Links-page gerungen, und bin jetzt sehr verwirrt wie's weitergehen sollte. Wäre super wenn mir hier jemand Rat, Vorschlag und/oder am besten Hilfe zum folgenden Problem geben könnte:

Habe es, dank der exellenten posts in diesem Forum (insbesondere der von Gutknut, Alois, Kelor u. anderen, in einem 2Seitigen Themas zur Enbettung von Fonts), bisher geschafft einen Link (f01 - s.u.), mit dem folgenden script (siehe unten) zu erstellen.

Da ich aber
  • 60 Links (Variabel f01 - f18; g01-g15; n01 - n15; s01 - s18) im Ganzen!
  • Alle aus einer .txt Datei stammend, welche ich in den selben Ordner wie die Fla gepackt habe, und
  • welche Ihre eigenen mc Instanzen (schon auf der Bühne, und mit Namen F01 - F18; G01 - G15; etc. benannt), die wiederum jeweils ein Textfeld mit Namen fText halten
würde ich gerne dieses Script so umbauen, das es für alle 60 Links gilt, statt es 59 mal zu kopieren.
Ich bin sicher das geht, und bin schon seit c.a. 2 Wochen im Internet / Manual am rescherchieren, doch mein Kopf qualmt! Meine mathematisches u. abstraktes Denkvermögen == und es ist mehr als schwer für mich ohne Hilfe weiterzukommen; eine Ahnung habe ich... Array Object; diese for(i = blah blah) Geschichte; oder duplicateMovieClip... aber mit all diesen Möglichkeiten bin ich nur noch verwirrter.

Vielen Dank im Vorraus für jeglichen Denkanstoß.

Das folgende Script ist hirarchisch folgendermaßen angelegt:
_root/redIn_mc/fLinks_mc's TL on frame1
ActionScript:
  1. //***Set Textfield properties***// //;
  2.  

Noch'ne Frage: Will mir nächste Woche vielleicht ASDG 2 von Mook kaufen, obwohl ich schon glaube das es qualitativ nix zu meckern gibt, bin ich nicht sicher ob es das einfachste Buch für'nen Hohlkopf wie mich ist? Habe schonmal reingeschaut u. gedacht *3$%%&@@} hmm?? Aber irgendwie muß ich mein AS Kentnisse ergattern.

***ONE LOVE***
litL1
litL1 ist offline   Mit Zitat antworten
Alt 28-10-2003, 10:37   #2 (permalink)
Genius
 
Benutzerbild von f@gju
 
Registriert seit: Sep 2003
Ort: Banned into Jail
Beiträge: 650
naja kannst ja so machn
for(var i = 1; i <= 18; i++){
if(i < 10){i = "0" + i;}
_root["s" + i].setTextFieldFormat; //oder so ich kenn die syntax nich genau
//der relevante teil ist die zusammensetzung von variabeln (siehe unten)
_root.deinMC1.deinMC2["deinTextField" + nummer].text = "Halodrio";

}
__________________
Klick hier
f@gju ist offline   Mit Zitat antworten
Alt 28-10-2003, 11:09   #3 (permalink)
Neuer User
 
Benutzerbild von litL1
 
Registriert seit: Oct 2003
Ort: Italia
Beiträge: 71
Erstmal Danke für die Antwort f@gju

Doch werde ich, wie du dir vieleicht schon denken kannst nicht so ganz schlau aus dieser Formel. Eeeh,

1.) Wo soll ich die am besten einbauen?

OOOOh!?? Mir fällt gerade auf das ich das Script gar nicht mitgesendet hatte

Also nochmal mit Script zur Erläuterung

ActionScript:
  1. //***Set Textfield properties***// //;
  2. F01.fText.type = "dynamic";
  3. F01.fText.autoSize = "center";
  4. F01.fText.html = true;
  5. //***Format Text***// //;
  6. fText_Format = new TextFormat();
  7. fText_format.align = "center";
  8. fText_format.size = 14;
  9. fText_format.font = "famLE-font";
  10. fText_format.color = 0xff0000 //red;
  11. //***When Data (.txt file) loads do the following***// //;
  12. fText_Vars = new LoadVars();
  13. fText_Vars.onLoad = function() {
  14.     F01.fText.htmlText = this.f01;
  15.     F01.fText.setTextFormat(fText_Format);
  16.     F01.fText.embedFonts = true;
  17. };
  18. //***Load Data (.txt file)***// //;
  19. fText_Vars.load("all_links.txt");
Trifft deine Lösung hier immernoch zu?

***ONE LOVE***
litL1
litL1 ist offline   Mit Zitat antworten
Alt 28-10-2003, 17:00   #4 (permalink)
Neuer User
 
Benutzerbild von litL1
 
Registriert seit: Oct 2003
Ort: Italia
Beiträge: 71
Zitat:
Geschrieben von f@gju
naja kannst ja so machn
for(var i = 1; i <= 18; i++){
if(i < 10){i = "0" + i;}
_root["s" + i].setTextFieldFormat; //oder so ich kenn die syntax nich genau
//der relevante teil ist die zusammensetzung von variabeln (siehe unten)
_root.deinMC1.deinMC2["deinTextField" + nummer].text = "Halodrio";

}
Hi, habe mit dem von f@gju geposteten code rumprobriert aber nichts klappt?!

Könnte mir jemand weiterhelfen?

Wo muß ich den Code in meinem einfügen?
__________________
***ONE LOVE***
litL1
litL1 ist offline   Mit Zitat antworten
Alt 28-10-2003, 17:07   #5 (permalink)
Genius
 
Benutzerbild von f@gju
 
Registriert seit: Sep 2003
Ort: Banned into Jail
Beiträge: 650
oke habs mi nun mal reingetscheggt

hier mal mein senf:
ActionScript:
  1. //***Set Textfield properties***// //;
  2. F01.fText.type = "dynamic";
  3. F01.fText.autoSize = "center";
  4. F01.fText.html = true;
  5. //***Format Text***// //;
  6. fText_Format = new TextFormat();
  7. fText_format.align = "center";
  8. fText_format.size = 14;
  9. fText_format.font = "famLE-font";
  10. fText_format.color = 0xff0000 //red;
  11. //***When Data (.txt file) loads do the following***// //;
  12. fText_Vars = new LoadVars();
  13. fText_Vars.onLoad = function() {
  14.         for(var i = 1; i <= 18; i++){
  15.                 if(i < 10){ i = "0" + i}
  16.                 _root["F" + i].fText.htmlText = this["f" + i]; //ob die pfadangabe stimmt weissich nich ist ja dein film *fg*
  17.                 _root["F" + i].fText.setTextFormat(fText_Format);
  18.                 _root["F" + i].fText.embedFonts = true;
  19.         }
  20. };
  21. //***Load Data (.txt file)***// //;
  22. fText_Vars.load("all_links.txt");
__________________
Klick hier
f@gju ist offline   Mit Zitat antworten
Alt 28-10-2003, 17:11   #6 (permalink)
stb
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 385
buchwerbung ist hier eigentlich nicht erlaubt, aber
schau mal im franzis´verlag unter kannengiesser
stb ist offline   Mit Zitat antworten
Alt 28-10-2003, 17:22   #7 (permalink)
Neuer User
 
Benutzerbild von litL1
 
Registriert seit: Oct 2003
Ort: Italia
Beiträge: 71
Danke Erstmal!

Wollte mich erstmal schnell bedanken befor Ihr wieder weg seit...

Dann werde ich das jetzt mal ausprobieren!!

Also DANKE
__________________
***ONE LOVE***
litL1
litL1 ist offline   Mit Zitat antworten
Alt 28-10-2003, 17:54   #8 (permalink)
Neuer User
 
Benutzerbild von litL1
 
Registriert seit: Oct 2003
Ort: Italia
Beiträge: 71
Hmm! Irgendwas stimmt nicht.

Habe jetzt den Pfad der 3 von auf _root gesetzten formatting codes, gemäß meines movie auf
ActionScript:
  1. _root.redIn.fLinks_mc["F"+i]
gesetzt.
FRAGE: Ist es normal das ich jetzt, im Gegensatz zu vorher, den ersten Link (Variable f01) nicht mehr unter CTRL+ALT+ENTER (test Scene) sehen kann, sondern nur noch über CTRL+ENTER (Test movie)?

Muß ich diesen Pfad auch bei den unter
ActionScript:
  1. //***Set Textfield properties***// //;
  2. F01.fText.type = "dynamic";
  3. F01.fText.autoSize = "center";
  4. F01.fText.html = true;
angegebenen code ändern?

Im Moment sehe ich jedenfalls bei test movie nur den ersten Link. Heißt das das der Pfad schonmal stimmt?... bwwwoooy i's confused! Aber der Ansatz von Dir sieht geauso aus wie ich mir eine Lösung vorstellen könnte. Hmm was blödes kleines fehlt (übersehen)... suchen suchen suchen
__________________
***ONE LOVE***
litL1
litL1 ist offline   Mit Zitat antworten
Alt 28-10-2003, 18:21   #9 (permalink)
Neuer User
 
Benutzerbild von litL1
 
Registriert seit: Oct 2003
Ort: Italia
Beiträge: 71
Ok Ein Schritt weiter

Habe die Pfade geändert (doch das war's noch nicht), und dann nach unten, hinter die von f@gju gesetzten Textformtierungen gesetzt; dann hat was geklappt,

DOCH

jetzt gibt die .txt file nicht mehr ihren HTML codierten text aus, sondern den text samt des HTML codes?

Was is los?
__________________
***ONE LOVE***
litL1
litL1 ist offline   Mit Zitat antworten
Alt 28-10-2003, 18:38   #10 (permalink)
Neuer User
 
Benutzerbild von litL1
 
Registriert seit: Oct 2003
Ort: Italia
Beiträge: 71
Talking

f@gju
Iloveu

It's all working now!!! Great!!

Habe die Reihenfolge der Textformatierung vertauscht, und statt Sie unter deine zu stellen einfach davor gesetzt - bingo!
ActionScript:
  1. //***When Data (.txt file) loads do the following***// //;
  2. fText_Vars = new LoadVars();
  3. fText_Vars.onLoad = function() {
  4.     for (var i = 1; i<=18; i++) {
  5.         if (i<10) {
  6.             i = "0"+i;
  7.         }
  8.         //***Set Textfield properties***// //;
  9.         _root.redIn.fLinks_mc["F"+i].fText.type = "dynamic";
  10.         _root.redIn.fLinks_mc["F"+i].fText.autoSize = "center";
  11.         _root.redIn.fLinks_mc["F"+i].fText.html = true;
  12.         _root.redIn.fLinks_mc["F"+i].fText.htmlText = this["f"+i];
  13.         _root.redIn.fLinks_mc["F"+i].fText.setTextFormat(fText_Format);
  14.         _root.redIn.fLinks_mc["F"+i].fText.embedFonts = true;
  15.     }
  16. };


With your help I've got my 1st ever for(i=blah blah) thingy working.

Auch wenn ich noch keine Ahnung habe was es eigentlich ist, sieht es doch wunderschön aus.

suppiiii

So, jetzt nochmal schnell nach dem Buch schaun... Grazie stb

This is exiting...
__________________
***ONE LOVE***
litL1
litL1 ist offline   Mit Zitat antworten
Alt 28-10-2003, 20:39   #11 (permalink)
*warg*
 
Registriert seit: May 2002
Ort: Berlin
Beiträge: 261
for(initialisierung;bedingung;aktualisierung) { anweisungsblock}

ist eine SCHLEIFE.

bsp.
for (i=0,i<10,i++) {
trace(i)
}

d.h. es wird die variable i = 0 inistialisiert.
dann wird die bedinung : solange i<10 gesetzt.
wenn die bedingun erfüllt ist, dann soll der anweisungblock ausgeführt werden.
´letztendilch soll die initialisierte variable i inkrementiert verden *gg* .. i++ bedeutet nichts anderes als i = i+1 d.h. das i immer um 1 gesteigert wird.
dann wird wieder getestet ob die bedinung wahr oder falsch ist.
wenn i irgendwann größer oder gleich 10 ist ( die bedingung nicht mehr erfüllt). endet die schleife.

Gruß Tuffy

p.s. finde einfach, man sollte schon wissen, was ne for-schleife ist
__________________
"nimm dir das leben - es gehört dir!"
"die realität versucht mich einzuholen - doch ich bin schneller !"

Geändert von Tuffyfant (28-10-2003 um 20:40 Uhr)
Tuffyfant ist offline   Mit Zitat antworten
Alt 28-10-2003, 21:27   #12 (permalink)
*warg*
 
Registriert seit: May 2002
Ort: Berlin
Beiträge: 261
achso . und das
ActionScript:
  1. _root.redIn.fLinks_mc["F"+i].fText.type = "dynamic";
  2.                 _root.redIn.fLinks_mc["F"+i].fText.autoSize = "center";
  3.                 _root.redIn.fLinks_mc["F"+i].fText.html = true;
  4.                 _root.redIn.fLinks_mc["F"+i].fText.htmlText = this["f"+i];
  5.                 _root.redIn.fLinks_mc["F"+i].fText.setTextFormat(fText_Format);
  6.                 _root.redIn.fLinks_mc["F"+i].fText.embedFonts = true;
  7.         }
könntest du eigentlich auch so schreiben
ActionScript:
  1. with (_root.redIn.fLinks_mc["F"+i].fText) {
  2. type = "dynamic";
  3. autoSize = "center";
  4. html = true;
  5. htmltext = this["f"+i];
  6. setTextFormat(fText_Format);
  7. embedFonts = true;
  8. }
__________________
"nimm dir das leben - es gehört dir!"
"die realität versucht mich einzuholen - doch ich bin schneller !"
Tuffyfant ist offline   Mit Zitat antworten
Alt 29-10-2003, 00:20   #13 (permalink)
Neuer User
 
Benutzerbild von litL1
 
Registriert seit: Oct 2003
Ort: Italia
Beiträge: 71
Thumbs up

@ Tuffy!!

Das ist echt genial. Du hast natürlich recht, man sollte schon wissen wie man so eine Schleife for(the Shoe-Senkel) bindet
Also vielen dank für's mini Tut; und diese with Aktion habe ich schon seit längerem beliebäugelt (gibt's das Wort??)... und war anfangs (na ja - fast da wo ich mich halt gerade jetzt befinde ) immer unsicher ob with sich auf das anzusteuernde Objekt, oder aber das ausführende Objekt bezieht.

Wenn ich z.B.
mehre Funktionen gleichzeitig mit einem Button-Druck an ein MC leiten will,
und will aber auch das sich beim Button selbst mehrere Aspekte verändern, (vieleicht ein blödes Beispiel, blöd ausgedrückt, aber...)

würde ich dann die Funktionen die ich bei dem MC in Gang bringen will mit with beschreiben, oder
würde ich die zu verändernden Aspekte des Buttons mit der with Aktion beschreiben?

Wie dem auch sei mein wirkliches Problem im Moment ist, das ich mich zu früh über f@gju's code gefreut hatte, habe ich doch beim publishing des Movies feststellen müssen, daß die links nicht mehr als links funktionieren; also stimmt doch mit der HTML/URL codierung was nicht. Komisch ist, das der Browser curser sich bei Rollover zum Zeigefinger ändert, doch wenn ich klicke springe ich nicht zur neuen Seite.

Zweitens hatte ich gedacht, daß ich es mit Hilfe des erstellten code schnipsels schaffen würde den nächsten Schritt ganz allein zu bewältigen:
ein onRollover attachMovieClip, mit dynamisch erzeugtem Textfeld, welches den Link beschreiben soll; der text dazu kommt ebenfalls aus der einen textdatei wie auch die Links...

Bin natürlich für jegliche Hilfestellung SEHR dankbar!

Ich werde noch ein bischen probieren - die Nacht ist jung u. freud ist auch nicht weit. Außerdem würd mir einstein vom herzen fallen, wenn's dann funzt
__________________
***ONE LOVE***
litL1
litL1 ist offline   Mit Zitat antworten
Alt 29-10-2003, 03:28   #14 (permalink)
Neuer User
 
Benutzerbild von litL1
 
Registriert seit: Oct 2003
Ort: Italia
Beiträge: 71
Unhappy

Hmm?! Habe jetzt mal mit dem with code versucht, aber kriege immer eine Error im Ausgabefeld, das ein Objekt nicht vorhanden ist. Nachdem ich Ihn...
ActionScript:
  1. with (_root.redIn.fLinks_mc["F"+i].fText) {...
...mal an verschiedene Stellen verschoben habe, und es sich jedoch, außer der Anzahl der Wiederholungen der Error Message im Ausgabefefeld, nichts geändert hat, habe ich den alten code wieder integriert (auch wenn Dieser etwas platzsparender ist). Der AS Reference nach denke ich es hat was mit der 'scope-kette' zu tun,
Zitat:
The scope chain used by the with action to resolve identifiers starts with the first item in the following list and continues to the last item:

• The object specified in the object parameter in the innermost with action.
• The object specified in the object parameter in the outermost with action.
• The Activation object. (A temporary object that is automatically created when a function is called that holds the local variables called in the function.)
• The movie clip containing the currently executing script.
• The Global object (built-in objects such as Math and String)..
oder Deklaration der Variabeln, aber weiter komme ich leider nicht.

Auch habe ich bislang keine Lösung für mein zweites Problemchen gefunden:
ein onRollover attachMovieClip, mit dynamisch erzeugtem Textfeld, welches den Link beschreiben soll; der text dazu kommt ebenfalls aus der einen textdatei wie auch die Links
Obwohl ich hier ebenfalls vieles probiert habe, klappt es bisher nur mit einer älteren Version, wo f@gju's for-Schleife noch nicht integriert war, und das 'Link-ErläuterunsMC' im Autorenbereich erstellt ist. Sobald ich es versuche anzuhängen klappt nix. Habe Verknüpfungsnamen, etz. erstellt, aber... mir qualmt der Kopf...
...Da hab ich doch kürzlichst was gelesen...? >>Viel Spaß und 'ne ganze Mütze schlaf<< oder wie war das doch gleich Herr Madokan? sweet dreams
__________________
***ONE LOVE***
litL1
litL1 ist offline   Mit Zitat antworten
Alt 29-10-2003, 07:28   #15 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
Probleme mit der with-Schleife....
...möglicherweise sind tatsächlich noch nicht alle Textfelder auf der Bühne wenn with ausgeführt wird...
aber korrigier erst mal tuffy's kleinen Tippfehler:
ActionScript:
  1. with (_root.redIn.fLinks_mc["F"+i].fText) {
  2.         type = "dynamic";
  3.         autoSize = "center";
  4.         html = true;
  5.         htmlText = this["f"+i];//grosses 'T'
  6.         setTextFormat(fText_Format);
  7.         embedFonts = true;
  8. }
...das kann deshalb besonders problematisch sein, weil alle variablen die in einer with-Schleife gesetzt werden sollen vorher intialisiert werden müssen.

Gruß

Alois
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-
Alois 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 21:09 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele