+

Partikel



import flash.MovieClip;
import flash.display.BitmapData;

class Partikel {

    static var mc : MovieClip;
    static var bg : MovieClip;
    static var partikels : Array;
    static var movemouse : Bool = false;
    static var anfang : Bool = true;
    static var xAlt : Float;
    static var yAlt : Float;

    static function main() {

        mc = flash.Lib.current;
        partikels = new Array();

        bg = mc.createEmptyMovieClip ("bg", mc.getNextHighestDepth());
        bg.loadMovie("bg.jpg");

        mc.onEnterFrame = frame;
    }

    static function maus() {
        movemouse = true;

        if (anfang) {
            anfang = false;
            xAlt = mc._xmouse;
            yAlt = mc._ymouse;
        }

        var streckeX = mc._xmouse - xAlt;
        var streckeY = mc._ymouse - yAlt;
        var anzahl = 4;
        for ( i in 0...anzahl ) { // anzahl dinger
            partikelsmalen(mc._xmouse-(streckeX/anzahl)*i,mc._ymouse-(streckeY/anzahl)*i);
        }

        xAlt = mc._xmouse;
        yAlt = mc._ymouse;

    } // maus

    static function frame() {
        movemouse = false;
        mc.onMouseMove = maus;
        if (!anfang) partikelsBewegen();

    } // frame

    static function partikelsmalen( x:Float , y:Float ) {
        var nummer =  partikels.length;
        partikels[nummer] = mc.createEmptyMovieClip ("partikels"+nummer, mc.getNextHighestDepth());
        partikels[nummer].beginFill(0xFFE390,Math.random()*20); // 234090 war das blau
        partikels[nummer].moveTo(-7, 0);
        partikels[nummer].lineTo( 0, 7);
        partikels[nummer].lineTo( 7, 0);
        partikels[nummer].lineTo( 0,-7);
        partikels[nummer].endFill();
        partikels[nummer].beginFill(0xFFF1C7,Math.random()*60);
        partikels[nummer].moveTo(-4,-4);
        partikels[nummer].lineTo(-4, 4);
        partikels[nummer].lineTo( 4, 4);
        partikels[nummer].lineTo( 4,-4);
        partikels[nummer].endFill();
        partikels[nummer].beginFill(0xFFFFFF,Math.random()*100);
        partikels[nummer].moveTo(-3, 0);
        partikels[nummer].lineTo( 0, 3);
        partikels[nummer].lineTo( 3, 0);
        partikels[nummer].lineTo( 0,-3);
        partikels[nummer].endFill();
        var polarR = Math.pow( Math.random() , 2.5 );
        var polarFi = Math.random()*360;
        partikels[nummer].vecX = polarR*Math.cos(polarFi);
        partikels[nummer].vecY = polarR*Math.sin(polarFi);
        partikels[nummer]._x = x+ (partikels[nummer].vecX*10);
        partikels[nummer]._y = y+ (partikels[nummer].vecY*10);
        partikels[nummer]._rotation = Math.random()*90;
    } // partikelsmalen

    static function partikelsBewegen() {
        var i = partikels.length;
        if (i==0) anfang = true;
        while( i-->0 ) {
            partikels[i].vecX += Math.random()-0.5;
            partikels[i].vecY += Math.random()-0.5;
            partikels[i]._x += partikels[i].vecX;
            partikels[i]._y += partikels[i].vecY;

            partikels[i]._alpha -= Math.sqrt( Math.pow(partikels[i].vecX,2) + Math.pow(partikels[i].vecY,2) )*7;
            if ( partikels[i]._alpha<0 ) {
                // partikels[i]._alpha=100;
                partikels[i].removeMovieClip();
                partikels.splice(i, 1);
            }
         }
    } // partikelsBewegen

} // class Partikel