// Pour pouvoir utiliser la classe Tween
import flash.filters.BlurFilter;
import mx.transitions.Tween;
import mx.transitions.easing.*;
//
// Style d'arrêt du glissement
//EffetArret = Elastic.easeOut;
EffetArret = Strong.easeOut;
//
// Le clip déplacé doit impérativement avoir une position sur x entière, sinon l'animation est crade
Clip._x = Math.round(Clip._x);
mc_news._x = Math.round(mc_news._x);
//
// Cette variable définie la vitesse de glissement (en pixel) Il est important de laisser une valeur entière
Vitesse = 20;
//
// Cette variable définie la longueur de l'arret du glissement en pixel
LongueurArret = 20;
//
// Cette variable définie la durée de l'arret du glissement en seconde
DureeArret = 2;
//
// Au départ, le clip et les glisseur sont invisibles
Clip._visible = false;
GlisseurDroite._visible = false;
GlisseurGauche._visible = false;
GlisseurDroite.useHandCursor = false;
GlisseurGauche.useHandCursor = false;
//
// Lorsqu'on clique sur start, on fait apparaitre le clip en flou directionnel et on fait repartir la page news de la meme facon
_root.sm.print_menu.onPress = function() {
var News01:Object = new Tween(mc_news, "_x", Strong.easeOut, mc_news._x, mc_news._x-2000, 12, false);
var News02:Object = new Tween(mc_news, "blur", Strong.easeOut, 0, 0, 1, true);
var Clip1:Object = new Tween(Clip, "_x", Strong.easeOut, Clip._x+2000, Clip._x-110, 12, false);
var Clip2:Object = new Tween(Clip, "blur", Strong.easeOut, 0, 0, 1, true);
Clip1.onMotionChanged = function() {
blur = x;
x = Clip._x;
speed = Math.round(Math.abs((x-blur)));
Clip.filters = [new BlurFilter(speed/4, 1)];
};
if (mc_news._visible) {
blur = x;
x = mc_news._x;
speed = Math.round(Math.abs((x-blur)));
mc_news.filters = [new BlurFilter(speed/4, 1)];
}
Clip._visible = true;
GlisseurDroite._visible = true;
GlisseurGauche._visible = true;
//On désactive les autres boutons du menu
_root.sm.print_menu.gotoAndPlay("print_actif");
_root.bg.print_view.gotoAndPlay("print_launch");
if (_root.sm.video_menu.enabled == false) {
_root.sm.video_menu.gotoAndPlay("video_inactif");
}
if (_root.sm.web_menu.enabled == false) {
_root.sm.web_menu.gotoAndPlay("web_inactif");
}
if (_root.sm.logo_menu.enabled == false) {
_root.sm.logo_menu.gotoAndPlay("logo_inactif");
}
_root.sm.print_menu.enabled = false;
_root.sm.web_menu.enabled = true;
_root.sm.logo_menu.enabled = true;
_root.sm.video_menu.enabled = true;
};
//
// Pour démarrer le glissement du clic, il faut que la souris touche le clip GlisseurGauche
// ou GlisseurDroite (il sont invisible, avec un alpha de 0, attention a ne pas les mettre en _visible = false;
// Sinon on ne pourrait plus intéragir avec
//
// GlisseurDroite
GlisseurDroite.onRollOver = function() {
// Une variable servant à l'effet d'arret
SensVitesse = -1;
Effet.stop();
// On démarre une boucle si on n'est pas a la limite
if (Clip._x>=Stage.width-Clip._width) {
onEnterFrame = function () {
Clip._x -= Vitesse;
// Le glissement s'arretera automatiquement suivant la longueur total des élément qui se trouve dans le clip qui se déplace
if (Clip._x<Stage.width-Clip._width) {
Clip._x = Math.round(Stage.width-Clip._width);
Glissement_Stop();
}
// Pour plus de fluidité on utilise ce mot clé
updateAfterEvent();
};
}
};
//
// GlisseurGauche
GlisseurGauche.onRollOver = function() {
// Variables servant à l'effet d'arret
SensVitesse = 1;
Effet.stop();
// On démarre une boucle si on n'est pas a la limite
if (Clip._x<=0) {
onEnterFrame = function () {
Clip._x += Vitesse;
//
if (Clip._x>0) {
Clip._x = 0;
Glissement_Stop();
}
// Pour plus de fluidité on utilise ce mot clé
updateAfterEvent();
};
}
};
//
// On stop l'animation avec un petit effet
function Glissement_Stop() {
delete onEnterFrame;
if (Clip._x<=0 && Clip._x>=Stage.width-Clip._width) {
Effet = new Tween(Clip, "_x", EffetArret, Clip._x, Clip._x+SensVitesse*LongueurArret, DureeArret, true);
}
}
//
// Lorsque la souris ne touche plus GlisseurGauche ou GlisseurDroite on arrete le glissement
GlisseurDroite.onDragOut = GlisseurDroite.onRollOut=GlisseurGauche.onDragOut=GlisseurGauche.onRollOut=function () {
Glissement_Stop();
};
Partager