• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-11-2009, 11:11   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 181
Textarea / Textfeld Autoscroll

Hallo,

mein Problem ist recht simpel vermute ich, dennoch komme ich nicht auf die Lösung. Ich möchte gerne ein Textfeld oder Textarea automatisch scrollen lassen. Das ganze soll wie bei einem Caht sein. Jedemals wenn eine Zeile Text hinzukommt scrollt es ein bisserl weiter. Am sinnvollten wäre es, gäbe es eine möglichkeit den neuen Text immer eine Zeile unter dem zuletzt eingefügten Text zu plazieren, statt darüber. So das das Textfeld sich quasi von unten nach oben füllt. Dann bräuchte ich nur noch
PHP-Code:
Textfeld.scrollV Textfeld.maxScrollV 
angeben und es wäre genau das was ich wollte. Leider habe ich noch keine Möglichkeit gefunden das umzusetzten.
__________________
Gruß Michael
xoos ist offline   Mit Zitat antworten
Alt 22-11-2009, 11:31   #2 (permalink)
Singleton
 
Registriert seit: Mar 2009
Ort: Berlin / Hamburg
Beiträge: 495
Zitat:
Zitat von xoos Beitrag anzeigen
Ich möchte gerne ein Textfeld oder Textarea automatisch scrollen lassen. Das ganze soll wie bei einem Caht sein. Jedemals wenn eine Zeile Text hinzukommt scrollt es ein bisserl weiter.
Ein bisschen verständlicher, bitte. Von wo kommt Text dazu?

Text an dass Ende einer Textarea anzuhängen kannst du z.B mit der Methode appendText() der fl.controls.textarea Klasse.
shredding ist offline   Mit Zitat antworten
Alt 22-11-2009, 16:18   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 181
Danke erstmal für deine Antwort. Also prinzipiell sollte es egal sein von wo der Text stammt. das hat ja nix mit der anzeige des textes zu tun. Aber um die Frage zu beantworten, er kommt aus einem eingabetextfeld. ich hänge den text bereits mit appendText an. wenn ich dann aber dem scrollV den maximalwert maxScrollV übergebe, sind die sprünge dermaßen groß, dass der text nach oben aus dem Textfeld läuf und nicht mehr zu sehen ist. also auch nicht die neiseste Zeile, da die ja nur unter die bestehenden angehängt wird. Aber der komplette Textblock verschwindet dann nach oben.

ich habe auch versucht schritt für schritt den text zu scrollen. D.h. bei jeder eingabe eines Textes eben scrollV += 1 aufgerufen. Irgendwie lässt sich scrollV jedoch nur bis 2 hochzählen und dann ist feierabend.
__________________
Gruß Michael
xoos ist offline   Mit Zitat antworten
Alt 22-11-2009, 16:47   #4 (permalink)
Singleton
 
Registriert seit: Mar 2009
Ort: Berlin / Hamburg
Beiträge: 495
Zitat:
Zitat von xoos Beitrag anzeigen
Irgendwie lässt sich scrollV jedoch nur bis 2 hochzählen und dann ist feierabend.
Das ist merkwürdig. Poste doch mal den Code.

Hast du schonmal die Alternative, srollRect versucht? Damit lassen sich Textfelder genauer ansteuern, es ist alles schön objektorientiert und vielleicht gehts ja so:

Code:
var textFeld:Text = new TextField();
textFeld.text = "Hier kommt der Text rein, der Am Anfang da ist.";
textFeld.x = 100 // x-Koordinate
textFeld.y = 200 // y-Koordinate
textFeld.width = 300;
textFeld.heigth = 300;
textFeld.wordWrap = true;
textFeld.multiline = true;

addChild(textFeld);

// Bis hier wird der Text komplett angezeigt, jetzt bauen wir ein Rechteck um es zu begrenzen:

textFeld.scrollRect = new Rectangle(0,0, textFeld.width, 100);
// Jetzt ist die Höhe auf 100 begrenzt

//Den ScrollRadius verändern kannst du jetzt so:
//... Funktion...
rechteck.y +=10;
textFeld.scrollRect = rechteck;
shredding ist offline   Mit Zitat antworten
Alt 23-11-2009, 15:58   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 166
das ist doch fies. jemand der am anfang auf dem schlauch steht, bemerkt die fehler nicht sofort:

var textFeld:Text = new TextField();


sollte

var textFeld:TextField = new TextField();

heissen und

textFeld.heigth

eher

textFeld.height
jav666 ist offline   Mit Zitat antworten
Alt 23-11-2009, 16:05   #6 (permalink)
Singleton
 
Registriert seit: Mar 2009
Ort: Berlin / Hamburg
Beiträge: 495
Ich glaube height werde ich nie richtig schreiben...
shredding ist offline   Mit Zitat antworten
Alt 03-09-2010, 18:37   #7 (permalink)
Neuer User
 
Registriert seit: Apr 2008
Beiträge: 4
Besser spät als nie

Also bei mir hat die scrollRect-Variante gar nicht funktioniert.

Falls es irgendwann nochmal jemand braucht, ich habe das wie folgt gelöst:

PHP-Code:
var txtNeu:String =("neuer Text, mehr Text, noch mehr"); 
An der Stelle, an der der Text angehängt werden soll dann:

PHP-Code:
/*neues Textfeld erstellen mit dem neuen Text, das aber nicht sichtbar ist*/
var textfeld_temporär:TextField newTextField();
textfeld_temporär.text=txtNeu;
//an Stelle von txt= je nachdem auch replaceText
var zeilen:int textfeld2.numLines// Anzahl der Zeilen des neuen Textes

// jetzt neuen Text an das ursprüngliche Textfeld anhängen
textfeld.appendText(txtNeu);
// den vertkalen Scrollwert auf die vorletzte Zeile rechnen
textfeld.scrollV=textfeld.numLines-zeilen

...es springt zwar eher, anstatt zu scrollen. Für nen weichen Bildlauf müsste man die Werte dann halt langsam aneinander annähern, vielleicht kann man das dann tweenen. Hab ich aber nicht versucht.

Clickmari 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Inhalt von Textarea in dyn. Textfeld anzeigen claussbj Flash Einsteiger 2 19-02-2008 18:06
AutoScroll auf letzte Zeile im Textfeld elias2k3 Flash Einsteiger 12 30-12-2006 23:29
Textfeld mit Autoscroll? jdc32 Flash MX 2004 4 17-01-2006 00:25
Textfeld bzw Textarea wird immer langsamer! OlliT Flash MX 2004 8 14-10-2004 16:33
autoscroll <==eye | 02==> HTML und CSS 2 20-01-2003 11:16


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:14 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele