Scrollfenster zeigt nur begrenzte Zeilenanzahl

mardazad

Erfahrenes Mitglied
Hallo,
ich habe ein scrollbares Textfeld, in das aus einer externen txt-Datei der Text geladen wird, was auch wunderbar funktioniert. Allerdings lädt er nur die ersten 21 Zeilen aus der txt-Datei obwohl diese viel länger ist. Gibts da nen Trick?

Wo ich gerade dabei bin: ist ein möglich, diese Zeilen (Wörter) in Buttons zu konvertieren und das Wort als Variable an ein anderes Textfeld zu übergeben?

Danke schonmal...
 
Am besten zeigst du mal die Textdatei her, vielleicht sind ja in der 21ten Zeilen irgendwelche Zeichen, die den AS dazu veranlassen, dort mit dem auslesen der Datei aufzuhören!

Und zu deinem 2ten Problem: Du könnest in den Buttons dyn. Textfelder machen und denen die jeweiligen Texte "geben"....
 
Hi,
es war das "&"-Zeichen...

Vielen Dank.

Wie würde das genau gehen mit den Buttons? Ich habe eine ewig lange Liste. Müßte ich dann 100 Buttons anlegen?

Gruß
 
Nein, die könntest du ja per AS einfach instanzieren bzw. duplizieren...... einfach einen erstellen, in der Bibliothek zum export an AS freigeben und dann per attachMovieclip (-> AS-Referenz) kopieren....

Zum Thema TxT-Datei zeilenweise auslesen müsstest du was hier im Forum finden....
 
Hi,

Du willst aus Einträgen in einer Textdatei dynamisch Buttons mit bestimmten Beschriftungen erstellen? Geeigneter wäre das XML-Objekt, da Du dort die Anzahl der Knoten direkt aus dem childNodes-Array lesen kannst. Ein kleines Beispiel:

Code:
// XML-Datei:
<button descr="Home" href="home.swf" />
<button descr="About" href="about.swf" />
<button descr="Links" href="links.swf" />
<button descr="Stuff" href="stuff.swf" />

Dann brauchst Du einen Button-MC, der unter dem Bezeichner "but" zum Export freigegeben ist. Dieser Button sollte über ein Textfeld mit dem Instanznamen "btext" verfügen.
PHP:
// im ersten Schlüsselbild:
System.useCodepage = true; // Geschmackssache

var button = new Array();

var xm = new XML();
xm.ignoreWhite = true;
xm.load("buttons.xml");
xm.onLoad = function() {
    for (var i=0; i<this.childNodes.length; i++) {
        button[i] = this.attachMovie("but", "button" + i, i + 100);
        button[i].btext.text = this.childNodes[i].attributes.descr;
        button[i].href = this.childNodes[i].attributes.href;
        button[i].onPress = function() {
            trace(this.href); // Hier die Aktion der Buttons rein
        }
        button[i]._y = i * 20; // Höhe der Buttons beachten
    }
}

Gruß
.
 
hmm... die Befürchtung hatte ich auch schon. Mir war nicht ganz klar, was Du nun haben möchtest: ein Textfeld, mehrere Textfelder, mehrere Buttons (und ein Textfeld)? Vielleicht kannst Du das Problem etwas präzisieren:
ist ein möglich, diese Zeilen (Wörter) in Buttons zu konvertieren und das Wort als Variable an ein anderes Textfeld zu übergeben?
Der erste Teil dieses Satzes klang nach einer Anzahl Buttons mit Beschriftungen aus einer externen Datei. Den zweite Teil hingegen konnte ich nicht entschlüsseln. ;)

Gruß
.
 
Also ich versuche ein scrollbares Textfeld zu machen, darin ist eine Liste von Artikeln enthalten. Wenn man auf einen davon klick erscheint im Warenkorb der Name des Artikels (ist nur ne Demo, deswegen reicht es so...)
 
Hi,

Nun, Du kannst in html-Textfeldern Hyperlinks zu Funktionen Deines Flashfilmes setzen (asFunction). Ich würde aber wohl kein Textfeld verwenden, sondern in der Tat einige Buttons dynamisch erstellen, die in einen ContainerClip geladen werden - diesen Containerclip kannst Du dann scrollen, indem Du eine Maske darüberlegst und seine vertikale Position veränderst (schau mal auf meine Seite [www]-Link unter Downloads. Das ist zwar etwas anderes, aber im Prinzip wird für jeden Eintrag in einer XML-Datei ein (oder zwei) Textfelder und ein Button instanziert, das ganze in einen maskierten Clip gepackt und mit MouseListener und Balken rollbar).

Wenn es ein Textfeld sein soll: Du kannst in html-Textfeldern auch MovieClips einbinden - bloß die Positionierung von Grafiken/Clips im Verhältnis zum Text gestaltet sich nach meinen Erfahrungen in solchen Textfeldern schwierig.

Gruß
.
 
Zurück