Bonsoir à toutes et à tous,

je suis en train de modifier le code d'un carroussel que j'avais trouvé via Google. Sur ce carroussel j'ai modifié le code afin que lorsqu'on clique sur une des images, cela attache le clip qui se rapporte à cette image sur la scène. Le souci, c'est que j'aimerais "désactiver" la fonction qui permet d'attacher le clip sur la scène, si le clip en question a déjà été attaché sur la scène, et ce sans pour autant "désactiver" l'affichage des autres clips du carroussel. Je ne sais pas vraiment comment m'y prendre dans la mesure où les images du carroussel sont cliquables via une fonction et ne sont pas "nommées" véritablement comme des clips où des boutons.
Bref, voici le lien pour l'aperçu de l'animation (vous verrez donc qu'à chaque clic sur une même image du carroussel, s'affiche un nouveau clip identique au précédent clip affiché sur la scène)

:http://www.musichrono.com/emailtest/index6.html

Voici également mon code as2 :

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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
import mx.utils.Delegate;
 
var numOfItems:Number;
var radiusX:Number = 180;
var radiusY:Number = 75;
var centerX:Number = 900;
var centerY:Number = 150;
var speed:Number = 0.05;
var perspective:Number = 1;
var home:MovieClip = this;
 
var tooltip:MovieClip = this.attachMovie("tooltip","tooltip",10000);
tooltip._alpha = 0;
 
var xml:XML = new XML();
xml.ignoreWhite = true;
 
xml.onLoad = function()
{
	var nodes = this.firstChild.childNodes;
	numOfItems = nodes.length;
	for(var i=0;i<numOfItems;i++)
	{
		var t = home.attachMovie("item","item"+i,i+1);
		t.angle = i * ((Math.PI*2)/numOfItems);
		t.onEnterFrame = mover;
		t.toolText = nodes[i].attributes.tooltip;
		t.icon.inner.loadMovie(nodes[i].attributes.image);
		t.r.inner.loadMovie(nodes[i].attributes.image);
		t.icon.onRollOver = over;
		t.icon.onRollOut = out;
		t.icon.onRelease = released;
		t.image = nodes[i].attributes.image;
	}
}
 
function over()
{
	home.tooltip.tipText.text = this._parent.toolText;
	home.tooltip._x = this._parent._x;
	home.tooltip._y = this._parent._y - this._parent._height/2;
	home.tooltip.onEnterFrame = Delegate.create(this,moveTip);
	home.tooltip._alpha = 100;
}
 
function out()
{
	delete home.tooltip.onEnterFrame;
	home.tooltip._alpha = 0;
}
 
function released()
{
	trace(this._parent.image);
	var sou:Sound = new Sound();
	sou.attachSound("click");
	sou.start();
	if (this._parent.image == "carroussel/disque.png"){
		removeMovieClip("projet");
		removeMovieClip("animation");
		removeMovieClip("contact");
		removeMovieClip("graphisme");
		removeMovieClip("tarifs");
		var clip:MovieClip = this._root.attachMovie("IDjukebox","jukebox",getNextHighestDepth()+1,{_x:600,_y:440});
		clip.close_jukebox.onPress = function() {
		this._parent.removeMovieClip();
		}
}else if (this._parent.image == "carroussel/animation.png"){
		removeMovieClip("projet");
		removeMovieClip("contact");
		removeMovieClip("tarifs");
		removeMovieClip("graphisme");
		removeMovieClip("jukebox");
		var clip:MovieClip = this._root.attachMovie("IDanimation","animation",getNextHighestDepth()+1,{_x:600,_y:480});
	    clip.close_animation.onPress = function() {
		this._parent.removeMovieClip();
		}
}else if (this._parent.image == "carroussel/graphisme.png"){
		removeMovieClip("projet");
		removeMovieClip("jukebox");
		removeMovieClip("contact");
		removeMovieClip("tarifs");
		removeMovieClip("animation");
		var clip:MovieClip = this._root.attachMovie("IDgraphisme","graphisme",getNextHighestDepth()+1,{_x:300,_y:400});
	    clip.btnclose.onPress = function() {
		this._parent.removeMovieClip();
		}
}else if (this._parent.image == "carroussel/mail.png"){
		removeMovieClip("graphisme");
		removeMovieClip("jukebox");
		removeMovieClip("animation");
		removeMovieClip("projet");
		removeMovieClip("tarifs");
		var clip:MovieClip = this._root.attachMovie("IDcontact","contact",getNextHighestDepth()+1,{_x:330,_y:380});
	    clip.close_contact   .onPress = function() {
		this._parent.removeMovieClip();
		}
}else if (this._parent.image == "carroussel/cadenas.png"){
		removeMovieClip("animation");
		removeMovieClip("jukebox");
		removeMovieClip("contact");
		removeMovieClip("graphisme");
		removeMovieClip("tarifs");
		var clip:MovieClip = this._root.attachMovie("IDprojet","projet",getNextHighestDepth()+1,{_x:626,_y:450});
	    clip.close_projet.onPress = function() {
		this._parent.removeMovieClip();
		}
}else if (this._parent.image == "carroussel/tarif.png"){
		removeMovieClip("projet");
		removeMovieClip("contact");
		removeMovieClip("animation");
		removeMovieClip("jukebox");
		removeMovieClip("graphisme");
		var clip:MovieClip = this._root.attachMovie("IDtarifs","tarifs",getNextHighestDepth()+1,{_x:300,_y:400});
	    clip.btnclose.onPress = function() {
		this._parent.removeMovieClip();
		}
}
}
 
function moveTip()
{
	home.tooltip._x = this._parent._x;
	home.tooltip._y = this._parent._y - this._parent._height/2;
}
 
xml.load("icons.xml");
 
function mover()
{
	this._x = Math.cos(this.angle) * radiusX + centerX;
	this._y = Math.sin(this.angle) * radiusY + centerY;
	var s = (this._y - perspective) /(centerY+radiusY-perspective);
	this._xscale = this._yscale = s*100;
	this.angle += this._parent.speed;
	this.swapDepths(Math.round(this._xscale) + 100);
}
 
this.onMouseMove = function()
{
	speed = (this._xmouse-centerX)/10000;
}
 
stop();
Je ne sais pas s'il faut que je crée un tableau qui répertorie les clips chargeables sur la scène afin de donner l'instruction de ne pas les charger si ceux-ci le sont déjà, ou bien s'il existe une solution plus simple en ajoutant dans ma fonction "function released()" après chaque Attachemovie, une instruction qui "désactive" la fonction onRelease de l'image du carroussel.

En somme, les différents avis des "initiés" seront les bienvenus afin de m'orienter vers la bonne méthode, car là franchement je suis perdu (si possible la plus simple pour un débutant comme moi )

Merci

BBFUNK01