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 :

[FLASH 5] Chargement dynamique d'image


Sujet :

Flash

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 200
    Points : 165
    Points
    165
    Par défaut [FLASH 5] Chargement dynamique d'image
    Bonjour,
    Les événements étant ce qu'ils sont; j'ai du à mon grand regret quitter Flash8 pour Flash5 . Et la les problèmes commencent:
    Sous flash 8 j'arrivai sans problème à charger dynamiquement une image (gif et jpg) dans un clip en utilisant les MovieClipLoader, MovieClipLoader.loadClip, onloadInit.
    Mais la dans Flash5 je n'y arrive plus du tout. Je cherche donc des exemples en flash5 que je pourrai faire tourner et analyser.

    Merci
    Si vous avez votre réponse n'oubliez pas !

  2. #2
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    avec F5 tu es sacrément limité, tu n'as plus la classe MoviceClipLoader, tu as juste les loadMovie & co
    Le plus grand arbre est né d'une graine menue, une tour de neuf étages est partie d'une poignée de terre.
    Mon blog : http://web.codeur.free.fr

  3. #3
    Membre habitué Avatar de solarishp
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 123
    Points : 140
    Points
    140
    Par défaut
    La Classe MovieClipLoader n'est disponible que pour Flash MX2004 et supérieur !

    Pour flash 5 je crois qu'il te faut utiliser loadMovie() ! mais sans grande conviction
    Respecter la charte du forum pour rappel ! Ici
    Vérifier l’orthographe de vos messages
    Il ne faut pas penser à l'objectif à atteindre, il faut seulement penser à avancer. C'est ainsi, à force d'avancer, qu'on atteint ou qu'on double ses objectifs sans même sans apercevoir.

  4. #4
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 146
    Points : 150
    Points
    150
    Par défaut
    c'est pas beaucoup plus compliqué qu'avec les movieClipLoader.

    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
    loadMovie(tonimage,tonclip);
    on(enterFrame) = function() {
    if (tonclip.getBytesLoaded()<tonclip.getBytesTotal()) {
    // on calcul le chargement
    pourcentageChargement = 100*tonclip.getBytesLoaded()/tonclip.getBytesTotal();
    // ici tu met ton code pour afficher ce pourcentage
    ...
    }
    else {
    on(enterFrame) = function() {}
    // chargement fini
    // ici tu met ton code qui s'exécute à la fin du chargement
    ...
    }
    }
    Best Web Design Software ever - http://tweakstyle.com

  5. #5
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 146
    Points : 150
    Points
    150
    Par défaut
    oui c'est nécessaire

    cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    on(enterFrame) = function() {}
    permet de redéfinir l'évènement onEnterFrame à la fonction vide {} à la fin du chargement.

    ca évite donc qu'il continu de tester si le clip est chargé à toute les frame
    => gain de ressources

    ca permet aussi qu'il n'éxecute qu'une fois le code de fin de chargement.

    ... donc inutile de la remettre
    au contraire, elle est trés utile !
    Best Web Design Software ever - http://tweakstyle.com

  6. #6
    Membre habitué Avatar de solarishp
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 123
    Points : 140
    Points
    140
    Par défaut
    Ah bon, je pensais que cette ligne était inutile. Je retire donc mon commentaire.

    Mais ça fonctionne aussi sans !
    Respecter la charte du forum pour rappel ! Ici
    Vérifier l’orthographe de vos messages
    Il ne faut pas penser à l'objectif à atteindre, il faut seulement penser à avancer. C'est ainsi, à force d'avancer, qu'on atteint ou qu'on double ses objectifs sans même sans apercevoir.

  7. #7
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 146
    Points : 150
    Points
    150
    Par défaut
    Mais ça fonctionne aussi sans !
    pas forcément !
    si il n'y a pas cette ligne, le code qui suivra sera éxecuté plusieurs fois.

    par exemple, si je veux déplacer le clip de 20 pixels à droite à la fin du chargement et que je met tonClip._x+=20;
    alors le clip se déplacera de 20 vers la droite à chaque frame au lieu de le faire qu'une fois.
    Best Web Design Software ever - http://tweakstyle.com

  8. #8
    Membre habitué Avatar de solarishp
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 123
    Points : 140
    Points
    140
    Par défaut
    Effectivement tu as raison, je viens de faire le test. Sorry
    Respecter la charte du forum pour rappel ! Ici
    Vérifier l’orthographe de vos messages
    Il ne faut pas penser à l'objectif à atteindre, il faut seulement penser à avancer. C'est ainsi, à force d'avancer, qu'on atteint ou qu'on double ses objectifs sans même sans apercevoir.

  9. #9
    Membre habitué Avatar de solarishp
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 123
    Points : 140
    Points
    140
    Par défaut
    Salut bitbis

    J'ai regardé dans la référence ActionScript pour la fonction onEnterFrame(), mais j’ai trouvé aucune indication en ce qui concerne l’arrêt de cette fonction. Pourrais-tu me dire où as-tu trouvé l’information en ce qui concerne l'arrêt de cette fonction ?

    onEnterFrame = function(){} //Fonctionne super bien pour l'arrêt de la fonction onEnterFrame(),

    Je te remercie d’avance.
    Respecter la charte du forum pour rappel ! Ici
    Vérifier l’orthographe de vos messages
    Il ne faut pas penser à l'objectif à atteindre, il faut seulement penser à avancer. C'est ainsi, à force d'avancer, qu'on atteint ou qu'on double ses objectifs sans même sans apercevoir.

  10. #10
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 146
    Points : 150
    Points
    150
    Par défaut
    je n'ai pas trouvé l'information, je l'ai crée.
    Je suis étudiant en école d'ingénieur en informatique et je connais pas mal de langages.
    J'ai trouvé cette méthode intuitivement.

    mais la méthode de tester à chaque tour marche aussi (il suffit de mettre un booleen à false quand tu as éxécuté ton code et le tester à chaque tour).
    Seulement il y a un test supplémentaire qui s'exécute et utilise donc des ressources à chaque frame.

    c'est sans doute mon expérience du c++ et de la gestion mémoire qui m'a donné cette idée.
    Best Web Design Software ever - http://tweakstyle.com

  11. #11
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 146
    Points : 150
    Points
    150
    Par défaut
    en fait, la fonction onEnterFrame ne s'arrète pas, il n'y a aucun moyen de l'arréter, elle s'éxécute obligatoirement à chaque frame tout au long de l'animation.
    ce que fait cette ligne de code c'est juste redéfinir la fonction onEnterFrame.
    Donc, au lieu d'exécuter du code ou des test à chaque tour elle exécute ce qui est entre les accolades {} c'est à dire ... rien !
    Best Web Design Software ever - http://tweakstyle.com

  12. #12
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    ahhhh bon ?
    je pensais qu'un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    delete cible.onEnterFrame;
    suffisait a tout effacer ???

    faut faire quelques chronométrages pour s'en convaincre .. !?
    Le plus grand arbre est né d'une graine menue, une tour de neuf étages est partie d'une poignée de terre.
    Mon blog : http://web.codeur.free.fr

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 642
    Points : 656
    Points
    656
    Par défaut
    Citation Envoyé par Lorenzo77
    ahhhh bon ?
    je pensais qu'un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    delete cible.onEnterFrame;
    suffisait a tout effacer ???

    faut faire quelques chronométrages pour s'en convaincre .. !?
    Il a raison. J'utilse cette technique pour mes preloads.

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 200
    Points : 165
    Points
    165
    Par défaut
    Salut à tous ,
    j'ai rarement eu autant de réponse dans un week-end, cool.
    Mais il me reste un problème de taille. Dans Flash8 je créai un calque "Action"dans lequel je mettais tout mon code et juste du code. Dans flash5 je n'arrive pas à mettre le code dans ce calque. Il semblerai qu'il faut créer une image clé dans le calque et mettre le code dans les actions de cette image.
    J'ai fait le test en mettant un clip "contBtn" dans le calque "Images". Dans le calque action je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    contBtn.attachMovie("idBtn", "fond", 10);
    Ca charge bien l'élement d'identifiant "idBtn" dans le clip "contBtn".
    Par contre pas moyen d'utiliser loadClip ou loadMovie. Car il semble de plus que dans Flash5 loadMovie ne peut charger que des SWF et pas d'image!
    En fait je n'ai rien trouvé(qui marche) pour chargé des images(jpg et gif) dynamiquement sous Flash5!
    Si vous avez votre réponse n'oubliez pas !

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 642
    Points : 656
    Points
    656
    Par défaut
    Le code que tu as mis dans un calque, l'as tu mis entre cela:

    onClipEvent(load){
    ...
    }

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 200
    Points : 165
    Points
    165
    Par défaut
    Non, car si je fait ca j'ai l'erreur Les événements clip ne sont autorisés que pour les occurrences clips
    J'ai donc créé dans le calque "Action" un clip dans lequel j'ai mis
    onClipEvent(load){
    contBtn.attachMovie("idBtn", "fond", 10);
    }
    mais ce coup ci meme l'attachmovie ne marche plus!
    Si vous avez votre réponse n'oubliez pas !

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 642
    Points : 656
    Points
    656
    Par défaut
    Les événements clip ne sont autorisés que pour les occurrences clips, cela veux dire que ton clip n'en ai pas un, ça ne serait pas un bouton? ou un graphique?

    sinon tu clique sur ton soi-disant clip (lol) puis tu va dans ton menu fenêtre et tu va sous modification->convertir en clip. et là ça devrait jouer.

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 642
    Points : 656
    Points
    656
    Par défaut
    Pour un bouton, c'est
    on(load){
    ...
    }

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 200
    Points : 165
    Points
    165
    Par défaut
    C'est bien une occurence de clip, il n'y a pas de doute la dessus. En fait le problème vient surtout du fait que je n'arrive pas à accèder aux clips d'un autre calque. Je m'en suis appercu avec la fonction
    trace("position x :"+contBtn._x)
    qui affiche le bon résultat dans le calque "Images" contenant contBtn mais qui n'affiche rien dans le calque "Action" qui contient le onClipEvent() {...}.
    Si vous avez votre réponse n'oubliez pas !

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 642
    Points : 656
    Points
    656
    Par défaut
    qui affiche le bon résultat dans le calque "Images" contenant contBtn mais qui n'affiche rien dans le calque "Action" qui contient le onClipEvent() {...}.
    La je te comprends pas?

    tu veux dire que tu as mis un bout de ton code dans un autre clip?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/03/2006, 12h02
  2. Réponses: 2
    Dernier message: 25/10/2005, 18h03
  3. Réponses: 2
    Dernier message: 02/09/2005, 20h47
  4. [FLASH MX2004] Chargement dynamique de composant
    Par stailer dans le forum Flash
    Réponses: 4
    Dernier message: 08/07/2005, 00h40
  5. [FLASH MX] Chargement dynamique de Jpeg progressif
    Par Pierre-Yves VAROUX dans le forum Flash
    Réponses: 3
    Dernier message: 13/02/2005, 15h16

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