Bonjour a tous !
Je vous contacte suite a un petit probleme sur une animation.
L'animation consiste en un carré contenant 3 boules qui rebondissent en continu a l'intérieur du carré.
La création et l'animation des boules à l'intérieur du carré fonctionne très bien, cependant je bloque sur deux fonctions que j'ai ajouté liés aux événements MOUSE_OVER et MOUSE_OUT sur le carré.
MOUSE_OVER fait apparaitre et circuler les boules.
MOUSE_OUT supprime les boules et arrête l'animation.
Or si ma fonction MOUSE_OVER fonctionne avec l'appel de la fonctionne creerBulle (), ma fonction MOUSE_OUT ne fonctionne pas très bien puisqu'elle ne supprime qu'une seule boules sur les 3 existantes.
Pourriez vous m'aiguiller ou m'aidez a trouver une solution pour supprimer mon animation lorsque j'utilise l'événement MOUSE_OUT.
Merci d'avance pour vos réponses !
je vous joins le code :
bulle.fla
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 var i:uint=0; var Xmin:Number=0; var Ymin:Number=0; var Xmax:Number=170; var Ymax:Number=170; var largeur:uint=120; var hauteur:uint=90; var cible:MovieClip; var bulle:MovieClip; var conteneur:carre = new carre(); conteneur.x=300; conteneur.y=300; addChild(conteneur); function creerBulle (): void { do { bulle = new MovieClip();// Instance de l'objet d'affichage bulle.graphics.beginFill(0xFFFFFF, 0.2);//Le cercle sera rempli de rouge, transparent à 50% bulle.graphics.drawCircle(0, 0, 30);//dessin du cercle avec la méthode drawCircle(x, y, rayon) // Positionnement et affichage du cercle dans la séquence bulle.x=(conteneur.width/2); bulle.y=(conteneur.height/2); bulle.viteX = Math.random()*0.5; bulle.viteY = Math.random()*1; bulle.addEventListener(Event.ENTER_FRAME,laBulleRebondit); addChild(bulle); //trace (bulle.name); i++; conteneur.addChild(bulle); } while (i<3); } function laBulleRebondit(e:Event):void{ cible=e.target as MovieClip; cible.visible=true; cible.viteX=e.target.viteX; cible.viteY=e.target.viteY; cible.y+=cible.viteY; cible.x+=cible.viteX; if(cible.x>Xmax-cible.width/2) cible.viteX=-(Math.random()*2); else if (cible.x<Xmin+cible.width/2) cible.viteX=(Math.random()*2); if(cible.y>Ymax-cible.height/2) cible.viteY=-(Math.random()*2); else if (cible.y<Ymin+cible.height/2) cible.viteY=(Math.random()*2); } function surOver(evt:MouseEvent):void{ creerBulle(); } function surOut(evt:MouseEvent):void{ cible.removeEventListener(Event.ENTER_FRAME,laBulleRebondit); cible.visible=false; } conteneur.addEventListener(MouseEvent.MOUSE_OVER,surOver);//survol de la souris sur le rectangle conteneur.addEventListener(MouseEvent.MOUSE_OUT,surOut);//desurvole de la souris sur le rectangle
bulle.swf
Partager