Yes I know this effect is way over-done, but there is still a need for it. So I wrote an AS3 class that handles it simply.

This movie requires Flash Player 9

source ZIP file

The AS file:

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
package
{
	import flash.events.TimerEvent;
	import flash.utils.Timer;
	public class typewriter
    {
		public var txtTimer:Timer;
		private var textArray:Array = new Array();
		private var t1:String;
		private var counter:Number = 0;
		private var textPath:Object
		private var ready:Boolean = true;
		public function typewriter() {
 
		}
		public function writeIt(_inputTxt:String, _textPath:Object, _appendInt:Number) {
			if(ready == true) {
				textPath = _textPath;
				var inputTxt:String = _inputTxt;
				var appendInt:Number = _appendInt;
				textArray = [];
				textArray.length = 0;
				t1 = inputTxt;
				textArray = t1.split("");
				counter = 0;
				textPath.text = "";
				txtTimer = new Timer(appendInt, textArray.length);
				txtTimer.addEventListener(TimerEvent.TIMER, appendText);
				txtTimer.addEventListener(TimerEvent.TIMER_COMPLETE, txtTimerStop);
				txtTimer.start();
				ready = false;
			}
		}
		private function appendText(event:TimerEvent):void {
			textPath.appendText(textArray[counter]);
			counter++;
		}
		public function txtTimerStop(e:TimerEvent) {
			ready = true;
		}
    }
}

To call the typewriter.as function:

1
2
3
var newTypewriter:typewriter = new typewriter;
var firstMessage:String = "type your text in the input box then hit go to see demonstration.";
newTypewriter.writeIt(firstMessage, outputTextBox, 30);

« »