FAQ Flash 8
FAQ Flash 8Consultez toutes les FAQ
Nombre d'auteurs : 6, nombre de questions : 84, dernière mise à jour : 15 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 avons à notre disposition la classe ColorTransform.
Cette classe permet de modifier la couleur d'un clip en fonction de ses couleurs d'origine.
Lorsqu'un objet ColorTransform est appliqué à un clip, une nouvelle valeur est calculée pour chaque canal de couleur de la manière suivante :
- Nouvelle valeur de rouge = (ancienne valeur de rouge * redMultiplier)) + redOffset
- Nouvelle valeur de vert = (ancienne valeur de vert * greenMultiplier)) + greenOffset
- Nouvelle valeur de bleu = (ancienne valeur de bleu * blueMultiplier)) + blueOffset
- Nouvelle valeur alpha = (ancienne valeur alpha * alphaMultiplier)) + alphaOffset
import
flash.
geom.
ColorTransform;
import
flash.
geom.
Transform;
var
colorTrans:
ColorTransform =
new
ColorTransform
(
1
,
0
.
5
,
0
.
25
,
1
,
15
,
-
10
,
40
,
0
);
// voir la documentation (F1) pour les arguments
var
trans:
Transform =
new
Transform
(
monClip);
trans.
colorTransform =
colorTrans;
Si vous souhaitez attribuer à votre clip une couleur indépendante de sa couleur d'origine, il suffit d'appliquer des coefficients "Multiplier" nuls.
import
flash.
geom.
ColorTransform;
import
flash.
geom.
Transform;
// Couleur souhaitée : 0xcc99ff
var
colorTrans:
ColorTransform =
new
ColorTransform
(
0
,
0
,
0
,
0
,
0xcc,
0x99,
0xff,
255
);
var
trans:
Transform =
new
Transform
(
monClip);
trans.
colorTransform =
colorTrans;
Bien que plus simple d'utilisation (et toujours fonctionnelle), la classe Color étant désormais dépréciée, nous ne vous la conseillons pas.
Pour appliquer un ou plusieurs filtres dynamiquement, il faut tout d'abord importer les package correspondant aux filtres souhaités :
import
flash.
filters.
BevelFilter;
// Effet biseau
import
flash.
filters.
BlurFilter;
// Effet de flou
import
flash.
filters.
DropShadowFilter;
// Effet d'ombre portée
import
flash.
filters.
GlowFilter;
// Effet de rayonnement
import
flash.
filters.
GradientBevelFilter;
// Effet de biseau en dégradés
import
flash.
filters.
GradientGlowFilter;
// Effet de rayonnment en dégradé
// ou bien
import
flash.
filters.*;
On crée notre/nos filtre(s) et un tableau afin de les rassembler.
Par exemple, un effet biseau et un effet d'ombre portée. Regardez la documentation (F1) pour connaître les paramètres à passer en arguments.
var
bevelFilter:
BevelFilter =
new
BevelFilter
(
5
,
90
,
0xffff00,
1
,
0x0000ff,
1
,
10
,
10
,
1
,
3
,
"inner"
,
false
);
var
glowFilter:
GlowFilter =
new
GlowFilter
(
0x000000,
1
,
15
,
15
,
1
,
3
,
false
,
false
);
var
aFilters:
Array
=
new
Array
(
);
aFilters.
push
(
bevelFilter);
aFilters.
push
(
glowFilter);
Enfin on associe le tableau créé à notre clip :
mMonClip.
filters =
aFilters;
Résumé du code de notre exemple :
import
flash.
filters.
BevelFilter;
// Effet biseau
import
flash.
filters.
GlowFilter;
// Effet d'ombre portée
var
bevelFilter:
BevelFilter =
new
BevelFilter
(
5
,
90
,
0xffff00,
1
,
0x0000ff,
1
,
10
,
10
,
1
,
3
,
"inner"
,
false
);
var
glowFilter:
GlowFilter =
new
GlowFilter
(
0x000000,
1
,
15
,
15
,
1
,
3
,
false
,
false
);
var
aFilters:
Array
=
new
Array
(
);
aFilters.
push
(
bevelFilter);
aFilters.
push
(
glowFilter);
mMonClip.
filters =
aFilters;
Lien : Quels sont les différents filtres disponibles ?
Téléchargement : filters.fla
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
(
);
}
}
}