+

Maus


import flash.MovieClip;
import flash.Color;

class Maus_einfacher {

    static var mc : MovieClip;
    static var posx : Float;
    static var posy : Float;
    static var dieanderen : Array<MovieClip>;
    static var movemouse : Bool = false;
    static var zeit : Int = 100;
    static var zentrum_x : Int = 203;
    static var zentrum_y : Int = 125;
    static var alle : Bool = false;

    static function main() {

        mc = flash.Lib.current;

        posx = zentrum_x;
        posy = zentrum_y;

        dieanderen = new Array<MovieClip>();
        dieanderendingermalen();

        mc.onEnterFrame = frame;
    }

    static function frame() {
        movemouse = false;
        mc.onMouseMove = maus;
        if (!movemouse && posx!=zentrum_x && posy!=zentrum_y ) {
            if ( Math.abs(posx-zentrum_x)<3 && Math.abs(posy-zentrum_y)<3 ) {
                posx = zentrum_x;
                posy = zentrum_y;
                // trace(zeit);
            } else {
                verschieben();
                zeit++;
            }
        }
        dieanderenverschieben();
    }

    static function maus() {
        verschieben();
        movemouse = true;
        zeit = 0;
    }

    static function klik() {
        if (alle) {
            alle=false;
        } else {
            alle=true;
        }
    }

    static function verschieben() {
        var zeitgrenze = 30;
        if (zeit<zeitgrenze) {
            posx +=( zeit*( (zentrum_x-posx)/8 ) + (zeitgrenze-zeit)*( (mc._xmouse-posx)/32 ) )/zeitgrenze;
            posy +=( zeit*( (zentrum_y-posy)/8 ) + (zeitgrenze-zeit)*( (mc._ymouse-posy)/32 ) )/zeitgrenze;
        } else {
            posx += ( (zentrum_x-posx)/8 );
            posy += ( (zentrum_y-posy)/8 );
        }
    }

    static function dieanderendingermalen() {
        for( i in 0...9 ) {
            for( j in 0...7 ) {
                dieanderen[j*9+i] = mc.createEmptyMovieClip ("dieanderen"+i, mc.getNextHighestDepth());
                dieanderen[j*9+i].beginFill(0x234090,20);
                dieanderen[j*9+i].moveTo(-29,-25);
                dieanderen[j*9+i].lineTo(-29,25);
                dieanderen[j*9+i].lineTo(29,25);
                dieanderen[j*9+i].lineTo(29,-25);
                dieanderen[j*9+i].endFill();
                dieanderen[j*9+i].posx = (i*58)-29;
                dieanderen[j*9+i].posy = (j*50)-25;
                dieanderen[j*9+i].auslenk = Math.random()/4 +0.25;
                dieanderen[j*9+i]._x = dieanderen[j*9+i].posx;
                dieanderen[j*9+i]._y = dieanderen[j*9+i].posy;
                dieanderen[j*9+i].onRelease = function () {
                    dieanderen[j*9+i]._alpha = 150;
                    klik();
                }
                dieanderen[j*9+i].onRollOver =  function () {
                    dieanderen[j*9+i]._alpha = 150;
                }
                dieanderen[j*9+i].onRollOut =  function () {
                    dieanderen[j*9+i]._alpha = 100;
                }
                dieanderen[j*9+i].onPress =  function () {
                    dieanderen[j*9+i]._alpha = 75;
                }

            }
        }
    } // dieanderendingermalen

    static function dieanderenverschieben() {
        if (alle) {
            for( i in 0...9 ) {
                for( j in 0...7 ) {
                    dieanderen[j*9+i]._x = dieanderen[j*9+i].posx + (posx-zentrum_x)*dieanderen[j*9+i].auslenk;
                    dieanderen[j*9+i]._y = dieanderen[j*9+i].posy + (posy-zentrum_y)*dieanderen[j*9+i].auslenk;
                }
            }
        } else {
            for( i in 0...9 ) { // aussen (innen auch)
                for( j in 0...7 ) {
                    dieanderen[j*9+i]._x = dieanderen[j*9+i].posx;
                    dieanderen[j*9+i]._y = dieanderen[j*9+i].posy;
                }
            }
            for( i in 2...7 ) { // innen nochmal extra
                for( j in 2...5 ) {
                    dieanderen[j*9+i]._x = dieanderen[j*9+i].posx + (posx-zentrum_x)*dieanderen[j*9+i].auslenk;
                    dieanderen[j*9+i]._y = dieanderen[j*9+i].posy + (posy-zentrum_y)*dieanderen[j*9+i].auslenk;
                }
            }
        }
    } // dieanderenverschieben

} // class Test