[FLASH 8] Problème de largeur de scène
Bonjour à tous
Bon je suis novice en flash, ca fait un bout de temps que je travaille sur mon site perso et je nage un peu, mais persevere:) .
Je viens de me confronter à un problème sur la largeur maximum de la scene de flash (2800 pix je crois).
En fait, j'ai un diaporama de mes travaux dans lequel l'utilisateur peut naviguer via sa souris a travers un scroll horizontal de mon clip.
Malheureusement, mes jpegs sont trop nombreux dans mon clip et je ne peux plus en mettre, de plus j'avais un effet de blurfilters sur ce clip lorsqu'on le declenchait mais qui ne marche plus (j'ai l chez wikimedia que ce genre d'effets se desactivaient au dela d'une certaine largeur).
Donc pourriez me dire a quoi je devrais a voir recours pour ce genre de situation?
En espérant avoir ete assez clair aussi.
Je vous donne mon code (assez confus, donc je l'ai annoté afin de gagner du temps^^)
Citation:
// 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();
};
Merci par avance.