Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-10-2003, 14:35   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 76
TextField Groesse

Ich habe ein array mit 5 elementen, die ich jeweils in ein dynamisch generiertes textfeld eintragen will. wie kann ich nun aber anhand des array elements bestimmen, wie gross mein textfeld sein muss?

ActionScript:
  1. bLabels = new Array("Haus","Garage","Produkt","Tasse","No");
  2. for (i=0;i<bLabels.length;i++) {
  3. this.bWidth = // Breite des ersten Elements aus dem Array;
  4. this.bHeight = 20;
  5. this.createTextField("bLabel", 'bLabel'+i, 0, 0,this.bWidth, this.bHeight);
  6. this['bLabel'+i].text = this.bLabel[i];

Irgendjemand ne Idee?

Danke.

Maik
maikdyke ist offline   Mit Zitat antworten
Alt 16-10-2003, 15:02   #2 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
mach doch
ActionScript:
  1. bLabels = new Array("Haus","Garage","Produkt","Tasse","No");
  2. for (i=0;i<bLabels.length;i++) {
  3.         this.createTextField('bLabel'+i,i, 0,20*i,0, 0);
  4.         this['bLabel'+i].autoSize=true
  5.         this['bLabel'+i].text =this.bLabels[i];
  6. }
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 16-10-2003, 15:13   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 76
Harry,

vielen Dank - funzt hervorragend!

M.
maikdyke ist offline   Mit Zitat antworten
Alt 16-10-2003, 15:17   #4 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
und wenn du die textfelder anhand der textgöße positionieren willst dann so.
ActionScript:
  1. bLabels = new Array("Haus","Garage","Produkt","Tasse","No");
  2. var ypos=0
  3. for (i=0;i<bLabels.length;i++) {
  4.         this.createTextField('bLabel'+i,i, 0,ypos,0, 0);
  5.         this['bLabel'+i].autoSize=true
  6.         this['bLabel'+i].text =this.bLabels[i];
  7.         ypos+=this['bLabel'+i].textHeight
  8. }
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 16-10-2003, 16:45   #5 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 76
Danke fuer den Tip. Ich hab versucht, das auch auf die horizontale position anzuwenden it textWidth und xpos+= aber da bleib ich stecken. ich zweifel heute echt an mir, glaub ich bin zu bloede...
maikdyke ist offline   Mit Zitat antworten
Alt 16-10-2003, 16:52   #6 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
die 10 ist der abstand
ActionScript:
  1. bLabels = new Array("Haus","Garage","Produkt","Tasse","No");
  2. var ypos=0
  3. var xpos=0
  4. for (i=0;i<bLabels.length;i++) {
  5.         this.createTextField('bLabel'+i,i, xpos,ypos,0, 0);
  6.         this['bLabel'+i].autoSize=true
  7.         this['bLabel'+i].text =this.bLabels[i];
  8.         xpos+=this['bLabel'+i].textWidth+10
  9. }
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 16-10-2003, 17:21   #7 (permalink)
Neuer User
 
Registriert seit: Apr 2003
Ort: USA
Beiträge: 130
Klasse, genau was ich auch brauchte. Gibts es ausserdem eine moeglichkeit, das textfeld in einen button umzuwandeln bzw. einen (button)movieclip and des neue textfeld anzuhaengen?

Klaus
osoful ist offline   Mit Zitat antworten
Alt 16-10-2003, 17:30   #8 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
@osoful einfach textfeld in einen mc
ActionScript:
  1. bLabels = new Array("Haus","Garage","Produkt","Tasse","No");
  2. var xpos=0
  3. for (i=0;i<bLabels.length;i++) {
  4.         var o=this.createEmptyMovieClip("box"+i,i);
  5.         o.createTextField('bLabel'+i,1, 0,0,0, 0);
  6.         o['bLabel'+i].autoSize=true
  7.         o['bLabel'+i].text =this.bLabels[i];
  8.         o._x=xpos
  9.         xpos+=o._width+10
  10.          o.id=i
  11.          o.onRelease = function() {
  12.             trace(bLabels[this.id]+" gedrückt")
  13. }
  14. }
__________________
gruß Harry

Geändert von HAY (16-10-2003 um 17:38 Uhr)
HAY ist offline   Mit Zitat antworten
Alt 16-10-2003, 19:38   #9 (permalink)
Neuer User
 
Registriert seit: Apr 2003
Ort: USA
Beiträge: 130
Danke Harry, deine Tips sind sehr hilfreich.
Ich hab noch ein Problem nach, naemlich wie ich die generierten buttons zusammen skalieren kann. Kann ich dafuer einen uebergeordneten mc erstellen, in dem ich dann die buttons aus dem array erstelle?

ActionScript:
  1. this.createEmptyMovieClip("Nav",1,1);
  2. for (i=0;i<bLabels.length;i++) {
  3.         var o=this.Nav.createEmptyMovieClip("box"+i,i);
  4.         o.createTextField('bLabel'+i,1, 0,0,0, 0);
  5.         o['bLabel'+i].autoSize=true
  6.         o['bLabel'+i].text =this.bLabels[i];
  7.         o._x=xpos
  8.         xpos+=o._width+10

Klaus
osoful ist offline   Mit Zitat antworten
Alt 16-10-2003, 19:47   #10 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
ja sowie du das gemacht hast.ausser der letzten 1
ActionScript:
  1. this.createEmptyMovieClip("Nav",1);
und dann scalieren mit
ActionScript:
  1. this.Nav._xscale=50
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 16-10-2003, 19:49   #11 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 76
@ osoful:
verstehe ich das richtig, dass du alle elemente als ein objekt behandeln willst?
maikdyke 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 10:27 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele