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

ActionScript 1 & ActionScript 2 Discussion :

Preloader, et oui encore un !


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 20
    Points : 14
    Points
    14
    Par défaut Preloader, et oui encore un !
    Salut à tous,
    Bon ca fais un petit moment que je tate du flash... mais pas vraiment en fait car je suis une grosse merde en AS.
    D'abord je voudrais savoir si vous pouviez me recommander un ou des bons tutaux pour vraiment m'y mettre.

    Sinon voici ma question, j ai trouvé ce prototype de preload qui charge une image, ou un swf, il indique en chiffre le pourcentage. J aimerai savoir comment faire pour que au lieu du 100%, j ai une ligne qui aille de gauche a droite et qui se superpose sur une autre ligne plus claire.

    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
     
    MovieClip.prototype.charge_image = function(file) {
    conteneur = this.createEmptyMovieClip("conteneur", 100);
    conteneur._x = 50
    conteneur._y = 50
    conteneur.width = 50
    conteneur.height = 60
    conteneur.loadMovie(file);
    this.onEnterFrame = function() {
    var total = this.getBytesTotal() ; 
    var lu = this.getBytesLoaded() ; 
    var rapport = Math.round((lu)/(total)*100); 
    this.pourcentage.text = Math.round(rapport) + " %"; 
    if (rapport >= 1) {
    //on supprime l'évènement onEnterFrame
    delete this.onEnterFrame;
    }
    }
    };
     
    ////////////////////////////////
    _root.bouton.onPress = function () {
    	charge_image("image.jpg");
     };
    et voici le prototype pour les faire les traits en pointillé

    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
     
    MovieClip.prototype.pointi = function(px, py, espace, epai, long, nbrepoint, couleur) {
     
    var x;
     
    for (x=0; x<nbrepoint; x++) {
     
    this.lineStyle(epai, couleur);
     
    px += espace;
     
    this.moveTo(px, py);
     
    this.lineTo(px+long, py);
     
    }
     
    };
     
    conteneur.createEmptyMovieClip("trait", 1);
     
    trait.pointi(20,30,10, 1, 5, 20, 0x999999);
    Je me demande donc comment faire un prototype de preloader avec un ggraph en as pour pouvoir le réutiliser a volonter.

    Merci

  2. #2
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    désolé, je n'ai pas pris le temps de regarder ton code, le principe d'une barre de chargement est très simple.
    Déja avec le nombre d'octets total de ton animation et le nombre d'octets téléchargé à un moment T, tu peux réussir à avoir le pourcentage chargé.
    ça tu l'a déja, et bien le plus dur est fait, tu n'a plus qu'a définir la propriété _width d'un clip avec la valeur du pourcentage,
    la barre fera 50 pixel à 50 pourcents

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    Merci, alors j ai bien lu, compris le principe. J'essaye donc de le faire et reposte mon code car je ne vois pas vraiment coder. En réflissant un peu ca devrait etre bon.
    merci

  4. #4
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    A tu besoin d'aide ou c'est bon? Sinon pour information si c'est pour charger des images, tu a un composant loader intégré dans flash qui le permet.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    Salut Arnolem,

    Je ne refuserai pas un peu d'aide
    Je suis en train de galéré mais je voulais chercher un peu avant de demander.
    En fait je sais utilisé les composants, à part le preloader avec lequel je galére, mais je voulais surtout avoir un prototype que je pouvais utiliser tout le temps.

    Voila voila

  6. #6
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    mais tu veux charger quoi ? un xml, jpg, swf, mp3 ? c'est pas toujours la meme chose.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    Je n ai pas su comment faire alors pour l instant j utilise le preloader sans graphique.

    En fait j 'aurais aimé créer un preloader que je puisse utilisé à volonté pour charger des images et des swf (je pense que c'est le meme systeme, corrige moi si j ai tort).Je compte faire une gallerie d'images toute simple qui charges les images contenu dans un dossier et qui les affiches. Pour l instant je ne m'occupe pas de redimmensionner les imges, ce seront des miniatures qui seront charger.

    Et pour les swf, le principe étais d'avoir un preloader dans le swf "mere" qui appelle le swf "enfant". ce qui m evitera de mettre un preload dans mes swf "enfant" lorsque j en ai besoin. Ca va tu me comprends ?

    je te redonne le code pour le preload avec le graph, si tu as le courage pour me dire ce qui ne vas pas:

    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
    MovieClip.prototype.charge_image = function(file) {
    conteneur = _root.createEmptyMovieClip("conteneur", 100);
    conteneur._x = 100
    conteneur._y = 100
    conteneur._width = 500
    conteneur._height = 500
    trait = conteneur.createEmptyMovieClip("trait", 1);
    trait._width = 100%
    trait._height = 10
    trait._x = 100
    trait._y = 10
     
    // on charge dans conteneur l'image
    conteneur.loadMovie(file);
    this.onEnterFrame = function() {
    var total = this.getBytesTotal() ; 
    var lu = this.getBytesLoaded() ; 
    var rapport = Math.round((lu)/(total)*100); // le pourcentage de chargement de l'imge
    this.pourcentage.text = Math.round(rapport) + " %"; 
    this.trait = Math.round(rapport) ; 
    if (rapport >= 1) {
    //on supprime l'évènement onEnterFrame
    delete this.onEnterFrame;
    }
    }
    };
     
    ////////////////////////////////
    _root.bouton.onPress = function () {
    	charge_image("image.jpg");
     };
    Merci

  8. #8
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    Désolé, je n'ai pas eu le tps de regardé mais si tu arrive a charger ton image et que affiche le pourcentage, alors il ne te reste plus qu'à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    trait._width = Math.round(rapport)
    Si Math.round(rapport) est bien une valeur qui passe de 0 à 100 alors ton trait grandira jusqu'à 100pixels.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    Voila : enfin avec de l'aide ca fonctionne. Merci Arnolem,

    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
     
    MovieClip.prototype.charge_image = function(file) {
            //prochain niveau libre pour que chaque clip n'écrase pas le précédent
            depth = _root.getNextHighestDepth() ;
            conteneur = _root.createEmptyMovieClip("conteneur"+depth, depth);
            //pense qu'après chaque action tu dois mettre un ";"
            conteneur._x = 100;
            conteneur._y = 100;
    		// probleme quand taille indiqué l image n apparait pas comment faire pour resizer l image
            //conteneur._width = 500;
           // conteneur._height = 500;
            trait = _root.createEmptyMovieClip("trait", _root.getNextHighestDepth());
            trait.lineStyle(5, 0xFF9900, 100, true, "none", "square", "miter", 1);
            trait.beginFill(0xFF9900,100);
            trait.moveTo(0,0);
            trait.lineTo(100,0);
            trait.lineTo(100,20);
            trait.lineTo(0,20);
            trait.lineTo(0,0);
            trait.endFill();
            trait._x = 0;
            trait._y = 0;
            // on charge dans conteneur l'image
            conteneur.loadMovie(file);
            this.onEnterFrame = function() {
     
                    var total = conteneur.getBytesTotal();
                    var lu = conteneur.getBytesLoaded();
                    var rapport = Math.round((lu)/(total)*100);
                    // le pourcentage de chargement de l'image
     
                    this.pourcentage.text = rapport+" %";
                    this.trait._width = rapport;
                    if (rapport>=1) {
                            //on supprime l'évènement onEnterFrame
                            delete this.onEnterFrame;
                            //et voilà c'est fini !!
                            //on masque les truc du préload (barre et text)
                           // trait._visible = false ;
                          //  pourcentage._visible = false ;
                    }
            };
    };
     
     
    ////////////////////////////////
    _root.bouton.onPress = function () {
    	charge_image("image.jpg");
     };

  10. #10
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    Résolu alors ? pense au tag !!!

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    oui oui. Résolu.
    Je vais maintenant pouvoir essayer de me prendre la tete sur autres choses lol.

    Je vais faire un nouveau sujet sur la propriété Stage.width; et Stage.height; car j aimerais pouvoir permettre a mon anim de prendre tout le "stage" sans que ce soit a 100%. C'est pas clair hein, je reformule la question.

    A plus tard et merci encore

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

Discussions similaires

  1. Preloader..eh oui encore un
    Par lionel20 dans le forum Flash
    Réponses: 3
    Dernier message: 20/12/2006, 12h25
  2. Problème d'inclusions ( hé oui encore)
    Par porco dans le forum C++
    Réponses: 9
    Dernier message: 17/10/2006, 20h30
  3. [apache][.htaccess]Oui encore un....
    Par sanosuke85 dans le forum Apache
    Réponses: 3
    Dernier message: 15/05/2006, 20h41
  4. Et oui encore un probleme d'icone dans une Jframe
    Par frett dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 17/02/2006, 16h12
  5. Drivers ODBC, ADO et IB (et oui encore!! )
    Par lio33 dans le forum Débuter
    Réponses: 1
    Dernier message: 14/09/2005, 10h51

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