Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-02-2005, 13:45   #1 (permalink)
[+][-]
 
Benutzerbild von lx_1
 
Registriert seit: Jun 2004
Beiträge: 52
dynamische buttons aus einer textdatei

schönen tag!

bastle schon seit einiger zeit an einem problem herum... vielleicht habt's ihr ja eine idee:

ich will dynamische buttons in AS aus einer textdatei "test.txt" erzeugen. in der textdatei stehen die bezeichnungen für die buttons. zB:

[textfile]
&button1=home
&button2=news
...
[/textfile]

wenn das swf geöffnet wird, soll sich dyn. die richtige anzahl von textfeldern mit der richtigen bezeichnung(s.o.) auf der bühne befinden und natürlich als button fungieren.

das ziel ist vor augen, aber funzn tut's nicht:

ich lass mittels einer schleife die textfelder mit namen "textfeld1_txt", "textfeld2_txt" etc. erzeugen.

dann werden sie positioniert.

aus der textdatei werden die bezeichnungen eingelesen werden. und das ist meine frage: wie mach ich das dynamisch? er gibt mir immer nur eine bezeichnung aus. die anderen textfelder sind zwar da, aber ohne bez., weil i immer auf 3 stehen bleibt.

ActionScript:
  1. for (i=1; i<=3; i++) {
  2.    
  3.     var name_str = "textfeld"+i;
  4.    
  5.     this.createTextField(name_str+"_txt", i+100, 300, 300+i*30, 150, 50);
  6.     var textfeld_str = name_str+"_txt";
  7.    
  8.     var txt = new LoadVars();
  9.     txt.load("test.txt");
  10.     txt.onLoad = function() {
  11.     var temp="button"+i; //i bleibt immer auf 3
  12.     _root[textfeld_str].text = txt[temp];
  13.  
  14. };
  15. }

das die dinger dann als buttons funken is eh eine andere sache

danke für eure hilfe!!

lg
alex
lx_1 ist offline   Mit Zitat antworten
Alt 10-02-2005, 14:04   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Schau dir mal deinen Code an:
Du erzeugst 3mal die selbe LoadVars-Instanz (bzw. überschreibst sie), gibst 3mal die Ladeanweisung und definierst 3mal den onLoad-Handler... Das kann ja so irgendwie nicht ganz gehen, oder...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 10-02-2005, 14:39   #3 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Hab mal bissl gebastelt... (ich hoffe ich verderbe dir jetzt nicht die Freude )
txt sieht so aus, wie von dir genannt:
Code:
&button1=home
&button2=news
&button3=profile
&
Dann in Flash:
ActionScript:
  1. var tl:MovieClip = this;
  2. var labelsArr:Array = new Array();
  3. var txtLoader:LoadVars = new LoadVars();
  4. txtLoader.onLoad = function(OK:Boolean) {
  5.     if (OK) {
  6.         for (var i in this) {
  7.             if (typeof this[i] == "string") {
  8.                 labelsArr.unshift(this[i].split("\n").join(""));
  9.             }
  10.             makeButtons(labelsArr.length);
  11.         }
  12.     } else {
  13.         trace("Fehler beim Laden...");
  14.     }
  15. };
  16. txtLoader.load("test.txt");
  17. function makeButtons(pNum:Number) {
  18.     while (pNum > 0) {
  19.         // MCs und Textfelder erstellen:
  20.         tl.createEmptyMovieClip("btn_" + pNum, pNum);
  21.         tl["btn_" + pNum]._x = 50;
  22.         tl["btn_" + pNum]._y = 20 * pNum;
  23.         tl["btn_" + pNum].createTextField("txt", pNum, 0, 0, 120, 20);
  24.         tl["btn_" + pNum].txt.border = true;
  25.         tl["btn_" + pNum].txt.background = true;
  26.         tl["btn_" + pNum].txt.backgroundColor = 0xEEEEEE;
  27.         tl["btn_" + pNum].txt.text = labelsArr[pNum - 1];
  28.         //btn-Aktionen zuweisen:
  29.         tl["btn_" + pNum].onRollOver = function() {
  30.             this.txt.backgroundColor = 0x996666;
  31.             this.txt.textColor = 0xFFFFFF;
  32.         };
  33.         tl["btn_" + pNum].onRollOut = function() {
  34.             this.txt.backgroundColor = 0xEEEEEE;
  35.             this.txt.textColor = 0x000000;
  36.         }
  37.         tl["btn_" + pNum].onDragOut = tl["btn_" + pNum].onRollOut;
  38.         tl["btn_" + pNum].onRelease = function() {
  39.             trace(this._name + ": " + this.txt.text);
  40.         }
  41.         pNum--;
  42.     }
  43. }
Kannst beliebig viele Vars in der txt haben...
Viel Spaß!
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)

Geändert von sonar (10-02-2005 um 14:44 Uhr)
sonar ist offline   Mit Zitat antworten
Alt 10-02-2005, 15:49   #4 (permalink)
[+][-]
 
Benutzerbild von lx_1
 
Registriert seit: Jun 2004
Beiträge: 52
oh man...

da gehen mir ja die augen über!
jetzt geh ich mal auf nen kaffee und dann schau ich da mal genau drüber! brauch nen freien kopf!

lg

alex(jaja, der schon wieder
lx_1 ist offline   Mit Zitat antworten
Alt 11-02-2005, 14:11   #5 (permalink)
[+][-]
 
Benutzerbild von lx_1
 
Registriert seit: Jun 2004
Beiträge: 52
hallo sonar! danke nochmal für deinen code! hab den mal durchgeackert... funkt prima und spass haben tu ich mehr als davor!
lx_1 ist offline   Mit Zitat antworten
Alt 11-02-2005, 14:36   #6 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Na dann is ja gut
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 18-02-2005, 12:04   #7 (permalink)
Ein Alter User
 
Benutzerbild von jotti
 
Registriert seit: Mar 2004
Ort: Österreich
Beiträge: 159
Das wär auch was für dich.

[Stuff] Release-Status für Buttons


Button(Aktiv)
jotti 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 04:59 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele