Loading:


    Matrix invert [AS 2]

    Klasa: Matrix

    Kompatybilność: ActionScript 1.0, Flash 8+

     

    Wykonuje odwrotną transformację do oryginalnego matrix'u.



    Napisz Artyku³

    Listing

    import flash.geom.Matrix;
    import flash.geom.Transform;

    var prostokatMc_0:MovieClip = stworzProstokat(20, 80, 0x000000);
    var prostokatMc_1:MovieClip = stworzProstokat(20, 80, 0xFF0000);
    var prostokatMc_2:MovieClip = stworzProstokat(20, 80, 0x00FF00);
    var prostokatMc_3:MovieClip = stworzProstokat(20, 80, 0x0000FF);

    var prostokatTrans_1:Transform = new Transform(prostokatMc_1);
    var prostokatTrans_2:Transform = new Transform(prostokatMc_2);
    var prostokatTrans_3:Transform = new Transform(prostokatMc_3);

    var rotacja45Matrix:Matrix = new Matrix();
    rotacja45Matrix.rotacja(Math.PI/4);
    prostokatTrans_1.matrix = rotacja45Matrix;
    prostokatMc_1._x = 100;
    trace(rotacja45Matrix.toString()); // (a=0.707106781186548, b=0.707106781186547, c=-0.707106781186547, d=0.707106781186548, tx=0, ty=0)

    var podwojnieSkalowanyMatrix:Matrix = new Matrix();
    podwojnieSkalowanyMatrix.scale(2, 2);
    prostokatTrans_2.matrix = podwojnieSkalowanyMatrix;
    prostokatMc_2._x = 200;
    trace(podwojnieSkalowanyMatrix.toString()); // (a=2, b=0, c=0, d=2, tx=0, ty=0)

    var skalowanyOrazObracanyMatrix:Matrix = podwojnieSkalowanyMatrix.clone();
    skalowanyOrazObracanyMatrix.concat(rotacja45Matrix);
    prostokatTrans_3.matrix = skalowanyOrazObracanyMatrix;
    prostokatMc_3._x = 300;
    trace(skalowanyOrazObracanyMatrix.toString()); // (a=1.4142135623731, b=1.41421356237309, c=-1.41421356237309, d=1.4142135623731, tx=0, ty=0)

    function stworzProstokat(szerokosc:Number, wysokosc:Number, kolor:Number):MovieClip {
        var depth:Number = this.getNextHighestDepth();
        var mc:MovieClip = this.createEmptyMovieClip("mc_" + depth, depth);
        mc.beginFill(kolor);
        mc.lineTo(0, wysokosc);
        mc.lineTo(szerokosc, wysokosc);
        mc.lineTo(szerokosc, 0);
        mc.lineTo(0, 0);
        return mc;
    }




    Dodano przez: divix
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors