Bonjour,

je suis en train de réaliser une animation du type suivant :
root
|
+-- Symbole Papa
|
+-- Symbole Fiston1
+-- Symbole Fiston2
+-- ...
En gros l'idée c'est que symbole papa est une carte et les symbole fiston sont des logos sur cette carte. Au départ la carte est cadré sur le lecteur flash, et au premier clic on zoom sur la carte et elle suit la souris. Lorsqu'on sort du player on fait un zoom arrière.

Le problème est que lorsque la souris passe sur un logo, mon code considère que je sort, donc zoom arrière...

j'ai essayer de faire les addeventlistener sur root et stage mais ça ne change rien.

J'utilise une classe Main.as associée au document de base.

voila si qqn a une idée un lien ou qqchose pour me dépanner...
merci d'avance

le code :
(le symbole papa est en fait "fond_mobile_o1")
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
64
package {
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.utils.Timer;
	import flash.display.*;
	import flash.text.*;
 
	public class Main extends MovieClip{
 
 
		public function Main(){
			// méthode principale
			var lMainWidth:int = cadre_o1.width;
			var lMainHeight:int = cadre_o1.height;
			var lMapWidth:int = fond_mobile_o1.width;
			var lMapHeight:int = fond_mobile_o1.height;
 
			fond_mobile_o1.scaleX = lMainWidth / lMapWidth;
			fond_mobile_o1.scaleY = lMainHeight / lMapHeight + 0.007;
			fond_mobile_o1.x = 0;
			fond_mobile_o1.y = 0;
 
			stage.addEventListener(MouseEvent.CLICK, zoomIn);
		}
 
		private function zoomIn (e : Event){
			fond_mobile_o1.scaleX = 1;
			fond_mobile_o1.scaleY = 1;
 
			stage.addEventListener(Event.ENTER_FRAME, moveMap);
			stage.addEventListener(MouseEvent.MOUSE_OUT, zoomOut);
		}
 
		private function zoomOut (e : Event){
			var lMainWidth:int = cadre_o1.width;
			var lMainHeight:int = cadre_o1.height;
			var lMapWidth:int = fond_mobile_o1.width;
			var lMapHeight:int = fond_mobile_o1.height;
 
			fond_mobile_o1.scaleX = lMainWidth / lMapWidth;
			fond_mobile_o1.scaleY = lMainHeight / lMapHeight + 0.007;
			fond_mobile_o1.x = 0;
			fond_mobile_o1.y = 0;
 
			stage.removeEventListener(Event.ENTER_FRAME, moveMap);
			stage.removeEventListener(MouseEvent.MOUSE_OUT, zoomOut);
		}
 
		private function moveMap (e : Event){
			var lMainWidth:int = cadre_o1.width;
			var lMainHeight:int = cadre_o1.height;
			var lMapWidth:int = fond_mobile_o1.width;
			var lMapHeight:int = fond_mobile_o1.height;
			var lCoefW = (lMainWidth - lMapWidth) / lMainWidth;
			var lCoefH = (lMainHeight - lMapHeight) / lMainHeight;
			var lDelay = 10; // c'est la variable qui détermine la vitesse.
 
 
			fond_mobile_o1.x = (fond_mobile_o1.x + ((lCoefW * mouseX - fond_mobile_o1.x ) / lDelay));
			fond_mobile_o1.y = (fond_mobile_o1.y + ((lCoefH * mouseY - fond_mobile_o1.y ) / lDelay));
 
		}
	}
}