IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

Vignettes cliquables (problème)


Sujet :

Flash

  1. #1
    En attente de confirmation mail
    Inscrit en
    Juin 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 48
    Points : 28
    Points
    28
    Par défaut Vignettes cliquables (problème)
    bonjour à tous les flasheurs !

    Mon problème est le suivant :
    J'ai créé un diaporama de photos avec 6 vignettes placées verticalement sur la gauche (chargées par XML), juste à côté se trouve 2 boutons pour faire apparaitre soit la série de 6 vignettes suivantes soit la serie précédente. Encore à côté se trouve un grand cadre qui accueillera la grande photo après un clic sur une des vignettes (toujours par le XML).
    Lorsque je place cette animation sur la scène principale cela fonctionne, mais là elle doit se trouver à la fin d'une série de clips encastrés. Après avoir déplacé mon code ainsi que le contenu de l'animation du diaporama, je remplace les _root par des this, l'affichage des petites vignettes fonctionne toujours mais le problème est qu'elles ne sont plus cliquables.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    //Création du cadre pour la grande photo et sa position
    this.createEmptyMovieClip("cadreChargementPhoto", 0);
    cadreChargementPhoto._x = -111.5;
    cadreChargementPhoto._y = -134;
     
    //chargement du fichier XML
    var chargeLegendes = new XML;
    chargeLegendes.load("photos.xml");
    chargeLegendes.ignoreWhite = true;
     
    //affichage du numéro de la série
    chargeLegendes.onLoad = function()
    {
    	racineLegendes = this.firstChild;
    	nbrSeries = Math.ceil((racineLegendes.childNodes.length-1)/6);
    	affNbrSeries = 1+"/"+nbrSeries;
    }
     
    //créationdes petits clips pour accueillir les vignettes + position
    for(i=1; i<=6; i++)
    {
    	this.createEmptyMovieClip("image"+i, i);
    	this["image"+i]._x = -270;
    	this["image"+i]._y = -150+((i*55)-45);
    }
     
    //Initialisation de la variable "premiereImageChargee" pour afficher les images n0.jpg, n1.jpg...
    var premiereImageChargee = 0;
     
    //cration des 6 vignettes sur la gauche
    chargementSerie = function(imageAcharger)
    {
    	for(i=1; i<=6; i++)
    	{
    		imageAcharger++;
    		this["chargeur"+i] = new MovieClipLoader();
    		this["chargeur"+i].sonNumero = i;
    		this["chargeur"+i].saGrandePhoto = imageAcharger;
    		this["chargeur"+i].onLoadComplete = function()
    		{
    			this["image"+this.sonNumero].saGrandePhoto = this.saGrandePhoto;
     
    			//fonction lors du clic sur une vignette d'où vient le problème pour moi
    			this["image"+this.sonNumero].onPress = function()
    			{
    				var photo = "photos/"+this.saGrandePhoto+".jpg"
    				chargementPhoto = "Chargement...";
    				cadreChargementPhoto.loadMovie(photo);
    				vLegende = racineLegendes.childNodes[this.saGrandePhoto].attributes.legende;
    			}
    		}
    		this["chargeur"+i].loadClip("photos petites/"+imageAcharger+".jpg", this["image"+i]);
    	}
    	affNbrSeries = Math.floor(imageAcharger/6)+"/"+nbrSeries;
    }
    chargementSerie(premiereImageChargee);
     
    //Fonction des boutons pour changer de série
    btSerieSuivante.onPress = function()
    {
    	if(premiereImageChargee<racineLegendes.childNodes.length-7)
    	{
    		premiereImageChargee += 6;
    	}
    	chargementSerie(premiereImageChargee);
    }
    btSeriePrecedente.onPress = function()
    {
    	if(premiereImageChargee>=6)
    	{
    		premiereImageChargee -= 6;
    	}
    	chargementSerie(premiereImageChargee);
    }
    Pour moi le problème se situe dans le chemin des vignettes dans le gestionnaire onPress. J'espère que vous aurez le courage de rpendre le temps de regarder et que vous avez compris tout le code.
    Merci de votre aide.

  2. #2
    Membre éprouvé
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Points : 1 210
    Points
    1 210
    Par défaut
    Salut,

    ton code me parait un peu farfelu...
    this["chargeur"+i] = new MovieClipLoader();
    this["chargeur"+i].sonNumero = i;
    this["chargeur"+i].saGrandePhoto = imageAcharger;
    this["chargeur"+i].onLoadComplete = function()
    {
    this["image"+this.sonNumero].saGrandePhoto = this.saGrandePhoto;

    //fonction lors du clic sur une vignette d'où vient le problème pour moi
    this["image"+this.sonNumero].onPress = function()
    {
    var photo = "photos/"+this.saGrandePhoto+".jpg"
    chargementPhoto = "Chargement...";
    cadreChargementPhoto.loadMovie(photo);
    vLegende = racineLegendes.childNodes[this.saGrandePhoto].attributes.legende;
    }
    }
    this["chargeur"+i].loadClip("photos petites/"+imageAcharger+".jpg", this["image"+i]);
    L'événement onLoadComplete n'existe pas sur un MovieClipLoader directement...il faut passer par un listener hors je ne vois nulle part l'appel à la méthode addListener Du coup y a peu de chance que ca marche. Sinon pourquoi faire x MovieClipLoader ? Un seul suffit (tu reçois le clip en paramètre)...

    @++
    Libzippp (C++)
    Lost in AStorm

  3. #3
    En attente de confirmation mail
    Inscrit en
    Juin 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 48
    Points : 28
    Points
    28
    Par défaut
    Le truc c'est que cet exemple de diapo était dans un livre et il m'en fallait absolument un. Du coup je n'arrive pas très bien à tout comprendre le fonctionnement du code. Je sais reconnaitre les différentes parties mais dès qu'il s'agit d'examiner en profondeur je galère un peu Pourtant j'en ai passé du temps dessus ...
    Et aussi lorsque j'avais placé ce diaporama sur la scène principale, tout fonctionnait très bien du coup j'ai réessayé dans un clip en remplacant tous les _root par des this mais depuis ce temps ça ne fonctionne plus. Je pense que dans l'évènement onPress le lien vers les vignettes pour qu'elles soient cliquables ne se fait pas. Pour moi c'est un problème de chemin d'accès mais je n'arrive pas à résoudre ce problème
    Si tu as une solution à me proposer je suis ouvert à toutes propositions
    Merci pour ta réponse.

  4. #4
    En attente de confirmation mail
    Inscrit en
    Juin 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 48
    Points : 28
    Points
    28
    Par défaut
    C'est bon j'ai réussi à résoudre ce problème par moi même. Comme toujours j'ai cherchais peandant des heureus alors que c'était tout bête
    Il me suffisait juste de remplacer this["image"+i] par cheminAbslou["image"+i] et tout fonctionne niquel. Merci encore à toi thecaptain d'y avoir réfléchi.
    Bye

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Rendre une vignette cliquable.
    Par JamieLedoy dans le forum Langage
    Réponses: 4
    Dernier message: 07/04/2013, 14h08
  2. problème attachMovie pour créer des vignettes cliquables qui lancent des vidéos XML
    Par heelie dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 19/11/2008, 09h44
  3. [RegEx] Problème regex url cliquable
    Par dorian53 dans le forum Langage
    Réponses: 5
    Dernier message: 16/11/2006, 19h17
  4. [ImageMagick] Création de vignette d'image à la volée
    Par falatop dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 31/10/2006, 15h13
  5. [RegEx] Problème pour transformer les url en liens cliquable
    Par AlphaYoDa dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2006, 13h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo