Probleme avec distort image et duplication de clip

kix484 Messages postés 79 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 24 juin 2010 - 5 juin 2008 à 12:51
kix484 Messages postés 79 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 24 juin 2010 - 5 juin 2008 à 12:53
Bonjour à tous, voila j'ai un problème assez corsé.
 D'habitude , j'y arrive seul mais la je seche.

J'ai téléchargé la superbe classse "DistortImage" de kiroukou : ici pour voir

Cette classe permet de deformer des clips.
J'ai un clip ou je fais un loadclip pour lui charger une image et j 'applique ma classe pour la deformer.

Jusque la ca va

Les problemes commencent quand je duplique ces clip dynamiquement , la ca marche plus.

Voici mo code : (qui fonctionne avec la classe)

import DistortImage;
import flash.display.BitmapData;
angle = -Math.PI/4;

import DistortImage;
import flash.display.BitmapData;

angle = -Math.PI/4;
for (i=0; i<nb; i++) {

    myMc.btBox.bt.duplicateMovieClip("bt"+i,nb-i);
    myMc.btBox["bt"+i]._x = i*40;
    myMc.btBox["bt"+i].img.txt.text=i
    image_mcl.loadClip("images/carre"+i+".jpg",myMc.btBox["bt"+i].img);
    myMc.btBox["bt"+i].myBitmap = new BitmapData(myMc.btBox["bt"+i].img._width, myMc.btBox["bt"+i].img._height);
    myMc.btBox["bt"+i].skew = new DistortImage(myMc.btBox["bt"+i].mc, myMc.btBox["bt"+i].myBitmap, 3, 3);
       
        ConvertPointIn3DToPointIn2D(myMc.btBox["bt"+i].p1,-taille,-taille,myMc.btBox["bt"+i]);
        ConvertPointIn3DToPointIn2D(myMc.btBox["bt"+i].p2,taille,-taille,myMc.btBox["bt"+i]);
        ConvertPointIn3DToPointIn2D(myMc.btBox["bt"+i].p3,taille,taille,myMc.btBox["bt"+i]);
        ConvertPointIn3DToPointIn2D(myMc.btBox["bt"+i].p4,-taille,taille,myMc.btBox["bt"+i]);
        var x0:Number = myMc.btBox["bt"+i].p1._x;
        var y0:Number = myMc.btBox["bt"+i].p1._y;
        var x1:Number = myMc.btBox["bt"+i].p2._x;
        var y1:Number = myMc.btBox["bt"+i].p2._y;
        var x2:Number = myMc.btBox["bt"+i].p3._x;
        var y2:Number = myMc.btBox["bt"+i].p3._y;
        var x3:Number = myMc.btBox["bt"+i].p4._x;
        var y3:Number = myMc.btBox["bt"+i].p4._y;
        // --
        myMc.btBox["bt"+i].skew.texture.draw(myMc.btBox["bt"+i].img);
        myMc.btBox["bt"+i].skew.setTransform(x0,y0,x1,y1,x2,y2,x3,y3);
}

function ConvertPointIn3DToPointIn2D(pointIn3D, x, y, theMc) {


    if (pointIn3D theMc.p2 || pointIn3D theMc.p3) {

        var scaleRatio = focalLength/(focalLength+(Math.sin(angle)*taille));

        pointIn3D.POSX = Math.cos(angle)*taille;

        pointIn3D._x = Origin.POSX+(pointIn3D.POSX*scaleRatio);

        pointIn3D._y = Origin.POSY+(y*scaleRatio);

    } else {

        var scaleRatio = focalLength/(focalLength-(Math.sin(angle)*taille));

        pointIn3D.POSX = -Math.cos(angle)*taille;

        pointIn3D._x = Origin.POSX+(pointIn3D.POSX*scaleRatio);

        pointIn3D._y = Origin.POSY+(y*scaleRatio);

    }

}

Inutile que j'offre le champagne a qui saura m'aider.

Merci

1 réponse

kix484 Messages postés 79 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 24 juin 2010
5 juin 2008 à 12:53
Pour tous ceux interessé pour voir sur le fla je peux leur envoyer
0
Rejoignez-nous