Durchlaufender Text mit ActionScript2

Dieses kleine Tutorial wird euch zeigen, wie man per Zufall alle einzelnen Buchstaben eines Textes durchläuft, so dass am Ende der gesamte Text dargestellt wird.
Schritt 1
Schritt 2
Diesem Textfeld müssen wir etwas auf unsere Wünsche einstellen. Wir weisen dem Textfeld eine Variable zu:
In unserem Fall textvariable.
Zudem wählen wir in den Einstellungen noch Dynamischer Text und Einzeilig aus.
Schritt 3
Zunächst benötigen wir ein Array, das all unsere Buchstaben und auch einige Sonderzeichen beinhaltet. Die Buchstaben benötigen wir nur als Großbuchstaben.
var letter:Array = new Array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'Y', 'X', 'Z', '@', '€', '$', '%', '§', '!', ' ', ',', '.', ':', '-', 'Ü', 'Ö', 'Ä', '+');
var my_string:String = textvariable;//erstellt eine Kopie des Textfeldinhaltes, zum späteren Abgleich
var a = 0; //Wert der erhöht wird
v3 = ' ';//Erstellt eine Hilfsvariable
Schon kann es ans eingemachte gehen. Wir beginnen also mit
onEnterFrame = function () {
Schritt 5
Und in der Variablen v1 gespeichert.
v1 = letter[int(Math.random()*letter.length)];
zudem wird der zu findende Buchstabe isoliert.
var part = my_string.slice(a, a+1);// Startbuchstabe, Endbuchstabe
if (v1 == part.toUpperCase()) {
textvariable = v3=v3+my_string.slice(a, a+1);
Nun soll unser Script natürlich aufhören zu laufen, wenn das komplette Wort geschrieben steht.
Dazu nutzen wir erneut eine If-Abfrage, die Soll- und Ist-Wert vergleicht und bei Zutreffen die onEnterFrame-Function stoppt.
if (textvariable == my_string) {
delete this.onEnterFrame;
}
zuletzt wird noch der Wert der Variable a erhöht.
a++;
Schritt 7
Wenn unser Zufallsbuchstabe nicht mit dem isolierten Buchstaben des Textes übereinstimmt ,startet die else-Schleife.
else {
textvariable = v3+v1;// Ausgabe= bisheriger Text + Zufallsbuchstabe
}
Schritt 8
Nun muss noch die onEnterFrame-Funktion mit einem } geschlossen werden.
Dann sollte euer gesamter Code so aussehen:
var letter:Array = new Array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'Y', 'X', 'Z', '@', '€', '$', '%', '§', '!', ' ', ',', '.', ':', '-', 'Ü', 'Ö', 'Ä', '+');
var my_string:String = textvariable;var a = 0;
v3 = '';onEnterFrame = function () {
v1 = letter[int(Math.random()*letter.length)];var part = my_string.slice(a, a+1);
if (v1 == part.toUpperCase()) {textvariable = v3=v3+my_string.slice(a, a+1);
if (textvariable == my_string) {delete this.onEnterFrame;
}a++;
} else {textvariable = v3+v1;
}};
Schritt 9
Um den Text schneller oder langsamer laufen zu lassen muss man die Bildrate des Dokuments verändern. Damit das Durchlaufen nicht zu lange dauert sollte man die Bildrate auf ca 30 bps setzen.

Passend zum Inhalt empfehlen wir:
Programmieren lernen mit Python – das Praxis-Tutorial
wie einpaar meiner vorgänger habe auch ich die frage ob das mit CS5 funktioniert ich habe alles gemacht was da steht sehe auch keinen fehler und es funktioniert einfach nicht.
Super Tut, vielen Dank! =)
Danke, tolles Script!!!
Es klappt und eigentlich habe ich die Syntax auch verstanden - jetzt hätt ich aber eine Frage...
Wie kann ich das Script weiter schreiben? Ich möchte einen MC laden, wenn die Schrift fertig geschrieben ist.
Leider klappen alle meine Versuche nicht. Gibt es jemanden, der mir helfen kann?
keine Funktion, zu schade ( benutze CS5)
Sorry, aber bei mir funktioniert das nicht. (benutze CS5)
Funktioniert das auch mit Cs5 ?? das will nich bei mit
sehr schön, aber wie kann ich zwei texte, gleichzeitig mit dem effekt ablaufen lassen? mfg
netter Effekt - und so ein kurzes Script. Vielen Dank für die Hilfe. Bin noch totaler Anfänger!
also ich bin im bereich flash totaler noob jz geärget 2 stunden lang
sehr schön erklärt sehr übersichtlich
super
auch für einen blutigen Anfänger super verständlich.
Dank dem angemerktem "Automatisch unterschneiden" hats auf anhieb funktioniert ;)
Das Tut gefällt mir. Nur sollte darauf hingewiesen werden, daß das Feld "Automatisch unterschneiden" deaktiviert ist.
es geht bei euch vllt nicht weil ihr Automatisch Unterschneiden an habt macht das aus dann gehts siehe screeshot oben also erst schaun dann schlecht bewerten
ich finds super gut schön gemacht gut erklärt volle punktezahl von mir ^^
geiler Effekt, gut umzusetzten und Verständlich erklärt Thx
den effekt habe ich schon immer haben wollen. klasse!
super idee, gut zu verstehen! danke
sehr schönes tut und gut erklärt, auch sehr einfach umzusetzten thx^^
super erklärt... hat gleich geklappt und habs in de hp eingebaut
Mehr anzeigen