auteur : Grégory Dumas
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
var
mc:
MovieClip
=
this
.
createEmptyMovieClip
("
mBouton
"
,
this
.
getNextHighestDepth
());
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
();
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.
auteur : Grégory Dumas
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
);
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;
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.
auteur : Grégory Dumas
Pour appliquer un ou plusieurs filtres dynamiquement, il faut tout d'abord importer les package correspondant aux filtres souhaités :
import
flash.
filters.
BevelFilter;
import
flash.
filters.
BlurFilter;
import
flash.
filters.
DropShadowFilter;
import
flash.
filters.
GlowFilter;
import
flash.
filters.
GradientBevelFilter;
import
flash.
filters.
GradientGlowFilter;
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;
import
flash.
filters.
GlowFilter;
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;
téléchargement : filters.fla
auteurs : Bolo Michelin , Grégory Dumas
Il suffit d'utiliser la function prevFrame prévue à cet effet
Exemple :
function
recule
(mc:
MovieClip
) {
mc.
onEnterFrame
=
function
() {
if
(this
.
_currentframe
=
=
1
) {
this
.
gotoAndStop
(this
.
_totalframes
);
}
else
{
this
.
prevFrame
();
}
}
}
Consultez les autres F.A.Q's