FAQ Flash MX 2004
FAQ Flash MX 2004Consultez toutes les FAQ
Nombre d'auteurs : 5, nombre de questions : 81, dernière mise à jour : 16 juin 2021
Pour cela, il suffit de créer un clip vide, de dessiner le bouton, puis de lui affecter un comportement de boutons grêce aux événements :
- onPress : Evénement sur le clic
- onRelease : Evénement sur le relâcher du bouton
- onReleaseOutside : Evénement sur le relâcher du bouton en dehors du bouton
- onRollOver : Evénement sur le survol du bouton par la souris
- onRollOut : Evénement sur la sortie de la souris
// On crée un clip vide dans le clip courant, et on lui affecte le prochain niveau disponible
var
mc:
MovieClip
=
this
.
createEmptyMovieClip
(
"mBouton"
,
this
.
getNextHighestDepth
(
));
// On dessine le bouton (ici un carré de 100x100 placé aux coordonnées (10,10))
mc.
lineStyle
(
1
,
0xffffff,
100
);
mc.
beginFill
(
0xffcc00,
50
);
mc.
moveTo
(
10
,
10
)
mc.
lineTo
(
10
,
110
);
mc.
lineTo
(
110
,
110
)
mc.
lineTo
(
110
,
10
);
mc.
lineTo
(
10
,
10
);
mc.
endFill
(
);
// On lui affecte les comportements de bouton:
mc.
onPress
=
function
(
) {
trace
(
"onPress"
);
}
mc.
onRelease
=
function
(
) {
trace
(
"onRelease"
);
}
mc.
onReleaseOutside
=
function
(
) {
trace
(
"onReleaseOutside"
);
}
mc.
onRollOver
=
function
(
) {
trace
(
"onRollOver"
);
}
mc.
onRollOut
=
function
(
) {
trace
(
"onRollOut"
);
}
Remarque : Nous aurions pu charger un clip plutôt que d'en créer un. Les comportements de type bouton auraient été les mêmes.
Pour cela, nous utilserons la classe Color et sa méthode setRGB
// Exemple de fonction utilisable
// - nNouvelleCouleur : Nouvelle couleur à affecter
// - mClip : Réfénrece au clip dont on veut changer la couleur
function
changeCouleur (
nNouvelleCouleur:
Number
,
mClip:
Movieclip) {
var
cCouleur:
Color
=
new
Color
(
mClip);
cCouleur.
setRGB
(
nNouvelleCouleur);
}
// usage
changeCouleur
(
0xffcc00,
mMonClip);
Il suffit d'utiliser la function prevFrame prévue à cet effet
Exemple :
function
recule
(
mc:
MovieClip
) {
mc.
onEnterFrame
=
function
(
) {
if
(
this
.
_currentframe
==
1
) {
// Le clip est sur la 1ère image, on retourne à la dernière
this
.
gotoAndStop
(
this
.
_totalframes
);
}
else
{
this
.
prevFrame
(
);
}
}
}