流行的文字出现和消失效果

 
TextField.prototype.constructTextbyLetter = function(txt, speed, size) {
	if (!size) {
		size = 1;
	}
	if (!speed) {
		speed = 10;
	}
	var i = 0;
	var txt = txt;
	clearInterval(_root[this._name+'Int']);
	_root[this._name+'Int'] = setInterval(function (_txt) {
		// from start
		//_txt.text = txt.substr(0, (i+=size))
		// from start with acceleration
		_txt.text = txt.substr(0, _txt.length+(i += size));
		// from end
		//_txt.text = txt.substr(txt.length-(i+=size))
		// from end with acceleration
		//var first_letter = txt.length-(_txt.length+(i+=size))
		//_txt.text = txt.substr((first_letter < 0 ? 0 : first_letter))
		//
		updateAfterEvent();
		if (_txt.length>=txt.length) {
			clearInterval(_root[_txt._name+'Int']);
		}
	}, speed, this);
};
TextField.prototype.deConstructTextbyLetter = function(speed, size) {
	if (!size) {
		size = 1;
	}
	if (!speed) {
		speed = 10;
	}
	var i = 0;
	var len = this.length;
	clearInterval(_root[this._name+'Int']);
	_root[this._name+'Int'] = setInterval(function (_txt) {
		// from end
		//_txt.text = _txt.text.substr(0, len-(i+=size))
		// from end with acceleration
		//_txt.text = _txt.text.substr(0, _txt.length-(i+=size))
		// from start
		//_txt.text = _txt.text.substr(size)
		// from start with acceleration
		_txt.text = _txt.text.substr((i += size));
		updateAfterEvent();
		if (!_txt.length) {
			clearInterval(_root[_txt._name+'Int']);
		}
	}, speed, this);
};

Usage:

 
//Create a textfield in the main timeline, name it to test, make it dynamic.
//put this code to your _root.
test.constructTextbyLetter("Another sample text .", 100, 3);
// or
test.constructTextbyLetter("Another sample text .", 100);
//Deconstruct:
test.constructTextbyLetter(100);
Close
E-mail It
Socialized through Gregarious 42