Slideshow

cs_fluf Messages postés 4 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 1 mai 2009 - 23 avril 2009 à 17:33
cs_fluf Messages postés 4 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 1 mai 2009 - 24 avril 2009 à 19:54
Bonjour,
J'ai récupéré diverses codes sur ce forum pour créer un slideshow avec appel des images dans un fichier XML.
L'appel se fait correctement mais je voudrais que lorsque la souris va à gauche ou à droite, les images défilent vers la droite ou vers la gauche.
Pour se faire j'ai fait la chose suivante :

_root.tabimage.onEnterFrame = function (){
    if (scrolling){
    this._x += Math.cos((-_root._xmouse/Stage.width)*Math.PI)*15;
        if (this._x>0) {
        this._x = 0;
        }
        if (-this._x>(this._width-Stage.width)) {
        this._x = -(this._width-Stage.width);
        }
    }
}

Mais rien ne se passe...

Merci par avance de vos réponses

4 réponses

cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
23 avril 2009 à 19:41
Bonjour,

if (scrolling){

mais vu comme tu le codes scrolling est une variable dont la portée est définie dans la fonction...
je verrais plutôt un _root.scrolling ou un this._parent.scrolling

@+
0
cs_fluf Messages postés 4 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 1 mai 2009
23 avril 2009 à 20:04
En fait le problème c'est que je ne sais pas quoi récupérer pour le onEnterFrame.
J'ai réalisé un album photo slideshow grâce à un tuto mais je voudrais le modifier pour que les images ne soient pas dans flash mais chargé par un XML.
Mais le truc c'est que je n'arrive plus à faire marcher le scrolling horizontal.

ça c'est l'autre partie du code :

var scrolling:Boolean = true;

tabimage = new Array();
XMLimage = new XML();
XMLimage.ignoreWhite = true;
XMLimage.onLoad = function(){
    _root.cadre._visible = 0;
    tabimage = XMLimage.firstChild.childNodes;
    for(i=0; i<tabimage.length; i++){
        _root.cadre.duplicateMovieClip("cadre"+i,i*1+5000);
        _root["cadre"+i].glu.loadMovie(_root.tabimage[i].attributes.urlimage);
        _root["cadre"+i]._x = cadre._width*i;
        }
}

Le post d'avant correspond à la suite du code.
Pour le moment c'est tout ce qu'il y a ^^

Merci de ton aide
0
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
24 avril 2009 à 09:04
Bonjour,

il me semble que tu mélanges plusieurs choses ensembles

tabimage = new Array();

et ensuite

_root.tabimage.onEnterFrame = function (){
    if (scrolling){
    this._x += Math.cos((-_root._xmouse/Stage.width)*Math.PI)*15;
        if (this._x>0) {
        this._x = 0;
        }
        if (-this._x>(this._width-Stage.width)) {
        this._x = -(this._width-Stage.width);
        }
    }
}

dans ta fonction, le this se rapporte à tabimage qui est une tableau... effectivement ca doit pas beaucoup bouger...

change _root.tabimage.onEnterFrame = function (){

par this.onEnterFrame = function (){

mais la, ca va être toute l'animation qui va bouger...

Aussi, ne met la variable scrolling a true qu'une fois ton xml chargé (onload)

@+
0
cs_fluf Messages postés 4 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 1 mai 2009
24 avril 2009 à 19:54
Je te remercie mais j'ai résolu le problème grâce à des codes trouvés sur le site.
La j'en suis à quand on clique sur l'image, on a un agrandissement de l'image par dessus les autres.
0
Rejoignez-nous