tutorials.de Buch-Aktion 05/2012
RSS-Feed anzeigen

luke_the_duke's Blog

AS 2.0: Matrix-Effekt für Textfelder

Bewerten
von luke_the_duke am 04.05.07 um 16:43 (273 Hits)
Heute Nachmittag hab ich für unseren AD mal wieder einen lustigen, sinnfreien Textfeld-Effekt geprügelt, den ich euch nicht vorenthalten möchte. Die Funktion "matrixText" kann auf jedes Textfeld aufgerufen werden, sobald der Prototype irgendwo im Film hinterlegt ist.

Der Effekt setzt einen String Zeichen um Zeichen in ein Textfeld, während an den Positionen der noch ausstehenden Zeichen nach dem Zufallsprinzip Zeichen aus einer angegebenen Auswahl angezeigt werden. So entsteht eine Art Zeichensalat, aus dem sich nach und nach der eigentliche String zusammensetzt.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
TextField.prototype.matrixText = function(t: String, pC:Array, d:Number, ms:Number): Void {
    
    var field: TextField = this;
    
    var i: Number = d;
    var cP: Number = 1;
    var l: Number = t.length;
    var aC: Number = pC.length;
    //
    this.executeMatrixText = function () {
        
        if (i>0) {
            i--;
        } else {
            
            if (cP < l) {
                
                var str: String;
                var m:String = "";
                
                str = t.slice(0, cP);
                
                cP++;
                
                var ctrl: Number = l - cP;
                
                while (ctrl--) {
                    
                    var e: Number = Math.floor(Math.random()*aC);
                    var c: String = pC[e];
                    m = m.concat(c);
                }
                
                field.text = str+m;
                
            } else {
                field.text = t;
                clearInterval(this.matrixTextId);
            }
        }
    }
    this.matrixTextId = setInterval(this, "executeMatrixText", ms);
}

meinTextfeld.matrixText (Text, Zeichensatz, Verzögerung, Intervall);


Parameter:

Text: String, Text der in das Textfeld gesetzt werden soll.
Zeichensatz: Array, beinhaltet die Zeichen oder Zeichenketten, die an den leeren Positionen angezeigt werden
Verzögerung: Number, Anzahl Intervalle, die abgewartet werden, bis die Animation startet.
Intervall: Number, Angabe in Millisekunden, Intervall, mit dem die einzelnen Buchstaben ins Textfeld gesetzt werden. Bestimmt die Geschwindigkeit der Animation

Ein Beispiel:
In ein mehrzeiliges Textfeld wird ein Text gesetzt, die Platzhalter sind X, Y, Z, 0 und 1:
Code :
1
2
3
var str: String = '"Was tun Sie", wurde Herr K. gefragt, "wenn Sie einen Menschen lieben?" "Ich mache einen Entwurf von ihm", sagte Herr K., "und sorge, daß er ihm ähnlich wird." "Wer? Der Entwurf?" "Nein", sagte Herr K., "der Mensch."';
 
meinTextfeld.matrixText(str, ["X", "Y", "Z", 0, 1], 0, 30);

Hinweis: Der Prototype funktioniert NICHT mit HTML-Text.


Viel Spass!

"AS 2.0: Matrix-Effekt für Textfelder" bei Twitter speichern "AS 2.0: Matrix-Effekt für Textfelder" bei Facebook speichern

Kategorien
Webmaster

Kommentare