Sélection rectangle AS3

cs_egrenier Messages postés 5 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 27 mai 2009 - 13 mai 2009 à 15:52
cs_egrenier Messages postés 5 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 27 mai 2009 - 13 mai 2009 à 16:42
Bonjour
je programme depuis peu et j'ai voulu adapter en AS3 le code AS2 du rectangle de sélection d'[auteur/APOKALYPSE/393951.aspx apokalypse.]
Mon problème est que l'angle en haut à gauche de mon rectangle est toujours en 0.0 (et non à l'endroit où je clique).
Voici mon code :

public class test extends MovieClip
    {
        public var clip:MovieClip ;
        public var etat:Boolean = false ;       
       
        public function test()
        {
            clip = new MovieClip () ;
               
            stage.addEventListener(MouseEvent.MOUSE_DOWN, down);
            stage.addEventListener(MouseEvent.MOUSE_UP, up);
        }       
       
        private function down (e:MouseEvent):void
        {
            clip.x = mouseX ;
            clip.y = mouseY ;
            etat = true ;           
            clip.addEventListener ("enterFrame",enterFrame);
        }
       
        private function up (e:MouseEvent):void
        {
            this.graphics.clear();
            etat = false ;
            clip.addEventListener ("enterFrame",enterFrame);
        }
       
        private function enterFrame(e:Event):void
        {
            if (etat==true)
            {
                this.graphics.clear();
                this.graphics.beginFill(0x00FF00, 0.1);
                this.graphics.lineStyle(1, 0x00FF00, 1.0);
                this.graphics.moveTo(0, 0);
                this.graphics.lineTo(0, mouseY);
                this.graphics.lineTo(mouseX, mouseY);
                this.graphics.lineTo(mouseX, 0);
                this.graphics.lineTo(0, 0);
                this.graphics.endFill();
            }
        }
    }

Je suppose que la structure de mon code est horrible et je m'en excuse. Je suppose (non cette fois j'en suis sûr) que c'est une erreur de débutant, normal j'en suis un !

Merci pour votre aide !

Etienne

1 réponse

cs_egrenier Messages postés 5 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 27 mai 2009
13 mai 2009 à 16:42
J'ai remplacé :

clip.x = mouseX ;
clip.y = mouseY ;

dans la fonction down, par :

this.x = parent.mouseX ;
this.y = parent.mouseY ;

Maintenant, les rectangles se dessinent correctement, seulement, la scène derrière bouge à chaque clic, ce qui est logique...
0