Elastic Effect
Posted by Chad Humphries over 2 years ago
MovieClip.prototype.elasticScale = function(target, convert, x, y, alpha) {
	var _loc1 = this;
	var _loc2 = convert;
	if (_loc1.accel < 6.000000E-001) {
		_loc1.accel = _loc1.accel + 2.000000E-001;
	}
	// end if                                    
	_loc1.xScale = _loc1.xScale * _loc1.accel + (target - _loc1._xscale) * _loc2;
	_loc1.yScale = _loc1.yScale * _loc1.accel + (target - _loc1._yscale) * _loc2;
	_loc1.x = _loc1.x * _loc1.accel + (x - _loc1._x) * _loc2;
	_loc1.y = _loc1.y * _loc1.accel + (y - _loc1._y) * _loc2;
	_loc1._xscale = _loc1._xscale + _loc1.xScale;
	_loc1._yscale = _loc1._yscale + _loc1.yScale;
	_loc1._x = _loc1._x + _loc1.x;
	_loc1._y = _loc1._y + _loc1.y;
	_loc1._alpha = _loc1._alpha + (alpha - _loc1._alpha) * 2.000000E-001;
};
MovieClip.prototype.ativaElastic = function(delay) {
	mv = this;                                 
	mv.c = 0;
	mv._alpha = 0;
	mv.delay = delay * 1;
	mv.xIni = int(mv._x);
	mv.yIni = mv._y;
	mv._x = mv._parent.ref._x;
	mv._y = mv._parent.ref._y;
	mv._xscale = mv._yscale = 0;
	mv.onEnterFrame = function() {
		++mv.c;
		if (mv.c > mv.delay) {
			mv._alpha = mv._alpha + (100 - mv._alpha) * 2.000000E-001;
			mv.elasticScale(100, 2.000000E-001, mv.xIni, mv.yIni, 100);
		}
		// end if                                    
		if (mv.c > 20 + mv.delay) {
			delete mv.onEnterFrame;
			mv._xscale = mv._yscale = 100;
		}
		// end if                                    
	};
};

//USE IN MOVIECLIP
onClipEvent (load) {
	this.ativaElastic(1);
}
Language ActionScript / Tagged with effects