Diaporama Flash tt simple et utile à tous

Messages postés
4
Date d'inscription
jeudi 2 juillet 2009
Statut
Membre
Dernière intervention
24 novembre 2009
- - Dernière réponse : kanougane
Messages postés
4
Date d'inscription
jeudi 2 juillet 2009
Statut
Membre
Dernière intervention
24 novembre 2009
- 13 juil. 2009 à 17:04
Salut tout le monde ,

je suis débutante en Flash et en plus cela fait plus de 2 ans que je n'ai pas utilisé ce logiciel. J'ai donc un peu de mal à m'y remettre et j'ai vraiment besoin de votre aide. Je bosse en tant que bénévole pour une association et parfois j'essaie de leurs donner un coup de main pour des projets multimédia. J'aurai besoin d'un diaporama simple à réaliser mais également facile à modifier pour eux par la suite car les photos et le texte seraient en externe.

C'est bon pour les photos mais pas pour le texte. Ça m'affiche undefined!
Voici le code ci-dessous. Si vous avez la moindre idée ce serait génial. Ensuite je ne sais pas trop comment ça fonctionne sur ce site mais je pourrai mettre le diaporama en ligne. Le code se trouve sur un calque AS. J'ai ma zone de texte dynamique infos_txt et la variable texte.

var limite:Number = 400;
var txtImg:Number = 0;
var numImg:Number = 0;

btPrecedente._visible = false;

verifLimit = function() {
    if (numImg >= 9) {
        btSuivante._visible = false;
    }
    else {
        btSuivante._visible = true;
    }
   
    if (numImg <= 1) {
        btPrecedente._visible = false;
    }
    else {
        btPrecedente._visible = true;
    }
}

btPrecedente.onRelease = function () {
    numImg--;
    txtImg--;
    traitement();
}

btSuivante.onRelease = function () {
    numImg++;
    txtImg++;
    traitement();
}

   
traitement = function() {
    verifLimit();
    titreImg = 'Image00'+numImg+'.jpg';
    titretxt = 'Image00'+txtImg+'.txt';
    var style_fmt:TextFormat = new TextFormat();
    style_fmt.font = "arial";
    style_fmt.bold = true;
    style_fmt.size = 18;
    style_fmt.align = "center";

    texte_lv = new LoadVars();
    texte_lv.onLoad = function(succes) {
          if(succes) {
            infos_txt.text = this.texte;
            infos_txt.setTextFormat(style_fmt);
          } else {
            infos_txt.text = "erreur de chargement";
          }
    }

    texte_lv.load(titretxt);

    this.createEmptyMovieClip('image', 1);
    this.texte.loadMovie(titretxt);
    this.image.loadMovie(titreImg);
    this.image._alpha = 0;
    this.chargeur.image = this.image;
        this.chargeur.onEnterFrame = function() {
            this.barre._xscale = ((image.getBytesLoaded()/image.getBytesTotal())*100);
            if ((image.getBytesLoaded() == image.getBytesTotal()) && (image.getBytesTotal()>0)) {
    
                if(image._height >= limite && image._height > image._width) {
                    image._height = image._height / (image._width / limite);
                    image._width = limite;
                }
                else {
                    image._width = image._width / (image._height / limite);
                    image._height = limite;
                }
                image._alpha += 5;
                if(image._alpha >= 100) {
                    delete image.onEnterFrame;
                }
            }
}
       
}
Afficher la suite 

4 réponses

Messages postés
4
Date d'inscription
jeudi 2 juillet 2009
Statut
Membre
Dernière intervention
24 novembre 2009
0
Merci
Plusieurs personnes sont venues lire mon message, est qu'aucun d'entre vous n'auraient le moindre indice ou conseil à me donner. Je dois me rendre à l'association  cette après midi.... c'est un peu une urgence!!

Merci
Commenter la réponse de kanougane
Messages postés
1204
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
23 juillet 2009
2
0
Merci
Salut,

c'est peut-être un peu tard, mais comment se présentent tes fichiers txt  (Image00'+txtImg+'.txt);

ils devraient être sous la forme

&texte=La description de l'image

ensuite, je ne vois pas a quoi sert la ligne

this.texte.loadMovie(titretxt);

pourquoi charger dans un MovieClip un fichier texte ???

Et finalement, il y a moyen de clarifier / simplifier le code. Par exemple dans traitement, pourquoi redéfinir à chaque chargement un textFormat qui reste toujours identique.
Il n'est pas utile de recréer à chaque fois un clip vide (this.createEmptyMovieClip('image', 1);)
txtImg et numImg sont redondant, pas besoin d'incrémenter / décrémenter 2 variables alors qu'une seule suffit.
la fonction verifLimit pourrait être plus concise :

verifLimit = function() {
        btSuivante._visible = (numImg <10);
        btPrecedente._visible =(numImg >1);
}

@+
Commenter la réponse de cs_Girou
Messages postés
4
Date d'inscription
jeudi 2 juillet 2009
Statut
Membre
Dernière intervention
24 novembre 2009
0
Merci
Merci beaucoup Girou.
Moi aussi j'arrive un peu tard mais j'ai été très occupée. J'ai lu ton message, je vais faire les corrections et voir si ça fonctionne. Je te tiens au courant.

Et encore merci. C'est grâce à toi que des personnes progressent. Je sais que c'est toujours plus intéressant de bosser sur des trucs plus difficiles mais c'est gratifiant aussi de pouvoir aider des débutants.

A +

J.
Commenter la réponse de kanougane
Messages postés
4
Date d'inscription
jeudi 2 juillet 2009
Statut
Membre
Dernière intervention
24 novembre 2009
0
Merci
J'ai effectivement oublié ceci:

&texte=La description de l'image.

Grâce à toi, ça marche sans pbl. Je vais pouvoir nettoyer le code maintenant en enlevant ce qui est inutile.
J'ai par contre une autre question. Est-il possible d'imposer une taille pour la fenêtre car la taille de l'image est adaptée lorsque je lance l'animation mais si j'agrandis la fenêtre il a beaucoup de blanc autour.Je sais pas si c'est très clair :-)

Merci

J.
Commenter la réponse de kanougane