Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-08-2003, 11:48   #1 (permalink)
- - - - - - -
 
Benutzerbild von cyberjunk
 
Registriert seit: Jun 2002
Ort: Bremen
Beiträge: 207
Mehrere Dynamische Textfelder erzeugen

Hi @ all!

Bitte helft mir, ich kriege die Kurve nicht... Ich lese dynamisch Text anhand der Umbrüche in Sätze getrennt in dynamische Textfelder aus. Ich tue mich gerade aber mit dem Scripting schwer.. Wenn ich strg+alt+v im Testmodus drücke, zeigt er mir auch an, daß die Felder korrekt generiert sind, aber zu sehen ist nichts. Ausserdem hätte ich die Felder gerne in einem regelmässigen Abstand gesetzt (var=abstand).

ActionScript:
  1. var i = 0;
  2. var abstand = 10;
  3. var ypos = 100;
  4. var Intervall = 250;
  5. arr = [];
  6. myVars = new LoadVars();
  7. myVars.onLoad = function() {
  8.     arr = this.info.split('\\n');
  9.     id1 = setInterval(timedSplit, Intervall);
  10. };
  11. myVars.load("txt/aboutme.txt");
  12. function timedSplit() {
  13.     _root.createTextField("mytext"+i, i, 20, ypos, 250, 50);
  14.     _root.mytext[i].html = true;
  15.     _root.mytext[i].multiline = false;
  16.     _root.mytext[i].htmlText = arr[i];
  17.     _root.mytext[i].embedFonts = true;
  18.     _root.mytext[i]._alpha = 0;
  19.     mf = new TextFormat();
  20.     mf.font = "Verda";
  21.     mf.size = 20;
  22.     _root.mytext[i].setTextFormat(mf);
  23.     i++;
  24.     if (arr.length == i) {
  25.         clearInterval(id1);
  26.     }
  27.     trace(i);
  28.     trace(arr[i]);
  29. }

Irgendwie komm ich gerade nicht weiter...
cyberjunk ist offline   Mit Zitat antworten
Alt 29-08-2003, 11:52   #2 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Ort: BCN
Beiträge: 33
du setzt deine textfelder alle auf _alpha0, entsprechend sind sie unsichtbar...

einblenden wird übrigens nur gehen, wenn du die schriftart, welche du einsetzt auch importiert hast - nur um die frage vorwegzunehmen
Acid-Sky ist offline   Mit Zitat antworten
Alt 29-08-2003, 11:56   #3 (permalink)
- - - - - - -
 
Benutzerbild von cyberjunk
 
Registriert seit: Jun 2002
Ort: Bremen
Beiträge: 207
Ja, ist klar, die Schriftart ist eingebettet.. Das mit dem Alpha habe ich noch aus Versehen drin gelassen, weil ich zusätzlich eine Funktion bastle, die erst jedes Textfeld einfadet, bevor das nächste generiert wird (vorher denke ich, muss aber erstmal das Sktript so funzen, ohne Fading)!

Trotzdem funzt das mit dem Positionieren net!

Geändert von cyberjunk (29-08-2003 um 11:57 Uhr)
cyberjunk ist offline   Mit Zitat antworten
Alt 29-08-2003, 12:04   #4 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Ort: BCN
Beiträge: 33
probier mal folgendes:

ActionScript:
  1. var i = 0;
  2. var abstand = 10;
  3. var ypos = 100;
  4. // änderung 1
  5. var lastpos = 0;
  6. var Intervall = 250;
  7. arr = [];
  8. myVars = new LoadVars();
  9. myVars.onLoad = function(success) {
  10. // änderung 2
  11. if(success){
  12.         arr = this.info.split('\n');
  13.         id1 = setInterval(timedSplit, Intervall);
  14. }
  15. };
  16. myVars.load("txt/aboutme.txt");
  17. function timedSplit() {
  18. // änderung 3
  19. if(i>0){
  20. w = _root["mytext"+(i-1)].textWidth +abstand;
  21. lastpos += w;
  22. }
  23.         _root.createTextField("mytext"+i, i, 20+lastpos, ypos, 250, 50);
  24.         _root.mytext[i].html = true;
  25.         _root.mytext[i].multiline = false;
  26.         _root.mytext[i].htmlText = arr[i];
  27.         _root.mytext[i].embedFonts = true;
  28.        // _root.mytext[i]._alpha = 0;
  29.         mf = new TextFormat();
  30.         mf.font = "Verda";
  31.         mf.size = 20;
  32.         _root.mytext[i].setTextFormat(mf);
  33.         i++;
  34.         if (arr.length == i) {
  35.                 clearInterval(id1);
  36.         }
  37.         trace(i);
  38.         trace(arr[i]);
  39. }

Geändert von Acid-Sky (29-08-2003 um 12:06 Uhr)
Acid-Sky ist offline   Mit Zitat antworten
Alt 29-08-2003, 12:09   #5 (permalink)
- - - - - - -
 
Benutzerbild von cyberjunk
 
Registriert seit: Jun 2002
Ort: Bremen
Beiträge: 207
Mmh.. Danke für deine Mühe!

Es funzt aber noch nicht so recht, obwohl das gut aussieht. Ich bekomme nur noch 1 und uundefined getraced... Die Felder werden auch nicht mehr generiert, nicht eins..
cyberjunk ist offline   Mit Zitat antworten
Alt 29-08-2003, 12:20   #6 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Ort: BCN
Beiträge: 33
heute ist eindeutig nicht mein tag...

also, check mal, ob das geht *betet*:
ActionScript:
  1. abstand = 10;
  2. var ypos = 100;
  3. arr = new Array();
  4.         mf = new TextFormat();
  5.         mf.font = "Verda";
  6.         mf.size = 20;
  7.    
  8.  
  9. myVars = new LoadVars();
  10. myVars.onLoad = function(success) {
  11.         if(success){
  12.                 arr = this.info.split('\n');
  13.                 timedSplit();
  14.         }
  15. };
  16. myVars.load("txt/aboutme.txt");
  17. function timedSplit() {
  18. w = 0;
  19. lastpos = 0;
  20. for(var i=0 ; i<arr.length ;i++){
  21. if(i>0){
  22. w = _root["mytext"+(i-1)].textWidth + abstand;
  23. lastpos += w;
  24. }
  25.         _root.createTextField("mytext"+i, i, 20+lastpos, ypos, 250, 50);
  26.         _root["mytext"+i].html = true;
  27.         _root["mytext"+i].multiline = false;
  28.         _root["mytext"+i].htmlText = arr[i];
  29.         _root["mytext"+i].embedFonts = true;
  30. _root["mytext"+i].setNewTextFormat(mf);
  31. _root["mytext"+i].setTextFormat(mf);
  32. trace("i="+i + "; Text="+_root["mytext"+i].htmlText);
  33. }
  34. };

Geändert von Acid-Sky (29-08-2003 um 12:34 Uhr)
Acid-Sky ist offline   Mit Zitat antworten
Alt 29-08-2003, 12:23   #7 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
ich mich mal einmisch. deine textadressierung ist falsch.
ActionScript:
  1. _root.createTextField("mytext"+i, i, 20, ypos+30*i, 250, 50);
  2. _root["mytext"+i].html = true;
  3.         _root["mytext"+i].multiline = false;
  4.         _root["mytext"+i].htmlText = _root.arr[i];
  5.          _root["mytext"+i].embedFonts = true;
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 29-08-2003, 12:25   #8 (permalink)
- - - - - - -
 
Benutzerbild von cyberjunk
 
Registriert seit: Jun 2002
Ort: Bremen
Beiträge: 207
Scene=Scene 1, Layer=actions, Frame=1: Line 18: ';' expected
for(var i=0 ; i<arr.length , i++){

Scene=Scene 1, Layer=actions, Frame=1: Line 15: Statement block must be terminated by '}'
function timedSplit() {

Scene=Scene 1, Layer=actions, Frame=1: Line 31: Syntax error.
};

Uiuiui Das sah vorher irgendwie besser aus...
cyberjunk ist offline   Mit Zitat antworten
Alt 29-08-2003, 12:30   #9 (permalink)
- - - - - - -
 
Benutzerbild von cyberjunk
 
Registriert seit: Jun 2002
Ort: Bremen
Beiträge: 207
@ Hay

Hi! Stimmt! Da wäre zumindest schon mal ein Problem geklärt..
cyberjunk ist offline   Mit Zitat antworten
Alt 29-08-2003, 12:31   #10 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
welches problem
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 29-08-2003, 12:32   #11 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Ort: BCN
Beiträge: 33
kind!
also, wenn ich da mal eben schnell code hintippe, dann kann es mal passieren, dass ich fehler mache...

in dem fall hab ich vergessen die for schleife zu schliessen,
scheinbar ein semicolon bei i und der 3. fehler geht auch weg sobald die schleife korrekt zu is.

nur die tatsache, dass ich aus welchem grund auch immer deine textfeld adressierung übersah macht mir angst
Acid-Sky ist offline   Mit Zitat antworten
Alt 29-08-2003, 12:33   #12 (permalink)
- - - - - - -
 
Benutzerbild von cyberjunk
 
Registriert seit: Jun 2002
Ort: Bremen
Beiträge: 207
@ Hay > das mit der Adressierung..
cyberjunk ist offline   Mit Zitat antworten
Alt 29-08-2003, 12:36   #13 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi geht schon
ActionScript:
  1. function timedSplit() {
  2.         _root.createTextField("mytext"+i, i, 20, ypos+30*i, 250, 50);
  3.         _root["mytext"+i].html = true;
  4.         _root["mytext"+i].multiline = false;
  5.         _root["mytext"+i].htmlText = _root.arr[i];
  6.         _root["mytext"+i].embedFonts = true;
  7.         mf = new TextFormat();
  8.         mf.font = "Verda";
  9.         mf.size = 20;
  10.         _root["mytext"+i].setTextFormat(mf);
  11.         i++;
  12.         if (arr.length == i) {
  13.                 clearInterval(id1);
  14.         }
  15.         trace(i);
  16.         trace(arr[i]);
  17. }
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 29-08-2003, 12:43   #14 (permalink)
- - - - - - -
 
Benutzerbild von cyberjunk
 
Registriert seit: Jun 2002
Ort: Bremen
Beiträge: 207
@ Acid-Sky

Sorry, mein ja nur... Jetzt gibt er mir aber alles in nur einem Feld aus, irgendwo sitzt noch der Wurm..

@ Hay

Ja, ist klar. Und als ganzes?
cyberjunk ist offline   Mit Zitat antworten
Alt 29-08-2003, 12:46   #15 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
na das hätest jetzt aber auch selber geschaft.
ActionScript:
  1. mf = new TextFormat();
  2.         mf.font = "Verda";
  3.         mf.size = 20;
  4. var i = 0;
  5. var abstand = 20;
  6. var ypos = 50;
  7. var Intervall = 250;
  8. arr = [];
  9. myVars = new LoadVars();
  10. myVars.onLoad = function() {
  11.         arr = this.info.split('\n');
  12.         id1 = setInterval(timedSplit, Intervall);
  13. };
  14. myVars.load("txt/aboutme.txt");
  15. function timedSplit() {
  16.         _root.createTextField("mytext"+i, i, 20, ypos+abstand*i, 250, 50);
  17.         _root["mytext"+i].html = true;
  18.         _root["mytext"+i].multiline = false;
  19.         _root["mytext"+i].htmlText = _root.arr[i];
  20.         _root["mytext"+i].embedFonts = true;
  21.         _root["mytext"+i].setTextFormat(mf);
  22.           i==arr.length ? clearInterval(id1) : i++
  23. }
__________________
gruß Harry
HAY 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 22:46 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele