Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package application.comps {
- import com.greensock.easing.Expo;
- import com.greensock.TweenLite;
- import flash.display.DisplayObjectContainer;
- import flash.display.Sprite;
- import flash.events.EventDispatcher;
- import flash.geom.Point;
- import flash.utils.getDefinitionByName;
- public class SparkEffect extends EventDispatcher {
- private static var cont:Sprite;
- private static var sparkMc:Sprite;
- private static var sparksAr:Array;
- public static function animate(mov:DisplayObjectContainer, sparkleClass:Class, point:Point, sparksNum:int = 20, time:Number = 1, breadth:Number = 60):void {
- cont = new Sprite();
- mov.addChild(cont);
- cont.x = point.x;
- cont.y = point.y;
- sparksAr = []
- for (var i:int = 0; i < sparksNum; i++) {
- sparkMc = new sparkleClass();
- cont.addChild(sparkMc);
- sparksAr.push(sparkMc);
- var rad:Number = Math.random() * 360 * (Math.PI / 180);
- TweenLite.to(sparkMc, time, {x: Math.random() * breadth * Math.cos(rad), y: Math.random() * breadth * Math.sin(rad), rotation: Math.random() * 360 * 3, ease: Expo.easeOut, alpha: 0});
- }
- TweenLite.delayedCall(time, clear);
- }
- public static function clear():void {
- for each (sparkMc in sparksAr) {
- TweenLite.killTweensOf(sparkMc);
- }
- if(cont)cont.removeChildren();
- if(cont && cont.parent)cont.parent.removeChild(cont);
- cont = null;
- sparkMc = null;
- sparksAr = null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement