Listeners imbriqués

cs_Cestmoi Messages postés 75 Date d'inscription lundi 1 avril 2002 Statut Membre Dernière intervention 3 juin 2012 - 16 août 2008 à 14:59
stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009 - 16 août 2008 à 17:12
Bonjour,

Je cherche à faire touner/redimensionner un conteneur (qui contient lui-même des conteneurs) avec la souris. En gros, l'utilisateur clique, reste appuyé et bouge la souris.

J'aimerais que le conteneur suive la souris en terme d'échelle et de rotation (le tout avec comme point central, le milieu du conteneur). En gros, si je clique-glisse sur le point (25; 56), peu importe où se trouvera la souris à la fin de mon mouvement, le point sous elle reste le même, puisque l'on a joué sur la taille et la rotation du conteneur.

J'ain donc tenté d'ajouté un listener mouse.down, mais pour suivre le mouvement, il faut aussi un listener entreFrame. Et là c la merde...

Je sais pas si je suis bien clair dans mes explications, mais merci pour votre aide..

1 réponse

stefbuet Messages postés 576 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 mai 2009
16 août 2008 à 17:12
Et si tu écoutais les evenement MOUSE_DOWN, MOUSE_UP, et MOUSE_MOVE ?

stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseEvent);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseEvent);

function mouseEvent(e:MouseEvent):void {
   if(e.type==MouseEvent.MOUSE_UP) {
      stage.addEventListener(MouseEvent.MOUSE_MOVE, update);
   }
   else {
      stage.removeEventListener(MouseEvent.MOUSE_MOVE, update);
   }
}

function update(e:MouseEvent):void {
   //ton code pour changer la rotation et l'echelle.
}

@++
Stefbuet
0
Rejoignez-nous