Diaporama Flash tt simple et utile à tous

kanougane Messages postés 4 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 24 novembre 2009 - 7 juil. 2009 à 10:25
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;
                }
            }
}
       
}

4 réponses

kanougane Messages postés 4 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 24 novembre 2009
7 juil. 2009 à 14:46
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
0
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
8 juil. 2009 à 12:33
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);
}

@+
0
kanougane Messages postés 4 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 24 novembre 2009
13 juil. 2009 à 16:53
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.
0
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
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.
0
Rejoignez-nous