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 :

[AS] Precharger une image


Sujet :

Flash

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 64
    Points : 57
    Points
    57
    Par défaut [AS] Precharger une image
    Bonjour à tous,

    J'ai un petit problème que je n'arrive pas à résoudre...
    J'aimerai pouvoir utilisé, dans un grand nombre de movieclip, une image jpg. Si j'utilise des MovieClipLoader chaque movieclip prend une place considérable en ram.
    Si par contre je met l'image dans la librairie, tout ce passe bien. Le problème est que je voudrai pouvoir changer l'image sans devoir recompiler le fla.

    Existe-t-il une solution pour creer dynamiquement un graphique comme on creer un movieclip a l'aide de createEmptyMovieClip? Cela me permeterai de l'utiliser ensuite dans chaque movieclip contenant l'image.

  2. #2
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    salut,

    peut etre que duplicateMovieClip() pourrai t'aider

    @++

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 64
    Points : 57
    Points
    57
    Par défaut
    Malheuresement duplicateMovieClip ne duplique pas le contenu d'un MC si celui ci provient d'un loadMovie ou d un loadClip... Merci tout de meme pour ta reponse!

  4. #4
    Membre averti Avatar de aorgerit
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 257
    Points : 301
    Points
    301
    Par défaut
    bonjour,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    _root.monImage="mapomme.jgp";
    // un champs de texte
    _root.prechargement.titre = "Chargement des médias externes";
    _root.cadre.image.loadMovie(_root.monImage);
    _root.cadre.image.onload.....
    bien à toi

  5. #5
    Membre averti Avatar de aorgerit
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 257
    Points : 301
    Points
    301
    Par défaut
    pardon , j'ai oublié un truc :

    MovieClipLoader

    vide le....
    cela va alléger ta ram.

    Bien à toi

  6. #6
    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,

    Citation Envoyé par ChrOnOs83
    BSi par contre je met l'image dans la librairie, tout ce passe bien. Le problème est que je voudrai pouvoir changer l'image sans devoir recompiler le fla.
    Alors on peut pas avoir le beurre et l'argent du beurre, mais on a plusieurs solutions A savoir :
    1) Tu mets ton jpg sur le serveur, tu le charge en cache (via un MovieClipLoader ou un LoadVars - si si c'est possible), et ensuite tu balance un loadMovie dans les clips ou tu en as besoin. L'image étant en cache, elle apparaitra quasi instantanément !
    2) Tu mets ton jpg dans la bibliothèque et tu procède par attachMovie, mais évidemment faut recompiler !
    3) Si tu peux passer par la : bibliothèque partagée. Tu met ton jpg dans un swf (ou il y a que le jpg) et tu le lie à ton swf qui va l'utiliser. Ensuite tu peux reprocéder avec attachMovie. Par contre cela nécessite la recompilation du fla

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

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 64
    Points : 57
    Points
    57
    Par défaut
    Je tiens dabors à vous remercier pour vos réponses!
    Cependant mon problème n'est pas encore résolu...
    aorgerit tu m'a dit:
    MovieClipLoader
    vide le....
    cela va alléger ta ram.
    Qu'est-ce que tu veut dire pas "vide le"?

    Sinon thecaptain tu m'a répondu:
    1) Tu mets ton jpg sur le serveur, tu le charge en cache (via un MovieClipLoader ou un LoadVars - si si c'est possible), et ensuite tu balance un loadMovie dans les clips ou tu en as besoin. L'image étant en cache, elle apparaitra quasi instantanément !
    C'est ce que je fesais mais le problème est qu'avec cette méthode l'animation prend de plus en plus de RAM jusqu'à la saturer.

    2) Tu mets ton jpg dans la bibliothèque et tu procède par attachMovie, mais évidemment faut recompiler !
    3) Si tu peux passer par la : bibliothèque partagée. Tu met ton jpg dans un swf (ou il y a que le jpg) et tu le lie à ton swf qui va l'utiliser. Ensuite tu peux reprocéder avec attachMovie. Par contre cela nécessite la recompilation du fla
    Je voudrai ne pas avoir à recompiler le fla. Les image en question seront mis à jour quotidienement.

    Je commence à croire qu'il n'éxiste aucune solution a ce problème... Pourtant ca serai utile dans bien des cas (utilisation de skins par exemple).

    J'attend vos confirmation avant de mettre ce post en délestage.

    ++

  8. #8
    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,

    Dans ton ca, ma solution (1) énoncée plus haut est la seule utilisable donc Alors il faut cherche du coté de ton flash, comment faire pour alléger les ressources que prend ton animation (removeMovieClip et autre) Sinon il ne me semble pas que tu puisses faire autrement...

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

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 64
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par thecaptain
    Salut,

    Dans ton ca, ma solution (1) énoncée plus haut est la seule utilisable donc Alors il faut cherche du coté de ton flash, comment faire pour alléger les ressources que prend ton animation (removeMovieClip et autre) Sinon il ne me semble pas que tu puisses faire autrement...

    @++
    Ok merci pour votre aide! Je vais simplement bien supprimer les movieclip inutile en ésperant qu'il n'y en aura tout de même pas trop en même temps.

    ++

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    bonsoir
    je me permet d'apporter qqs informations a votre sujet ;moi je connais tres bien le swish et pour cela il faudra :
    crer un sprite qu'on nomera :image;
    puis un bouton nomme :BT;
    puis un texte dynamique variable :A ;
    on metra sur le bouton ce script :
    on load(){A=0;}
    on(press){
    A=A+1;
    switch (A){
    case'1':_root.image.loadmovienum("http://votre adresse/photo1.jpg",1);break;
    case'2':_root.image.loadmovienum("http://votre adresse/photo2.jpg",1);break;

    case'3':_root.image.loadmovienum("http://votre adresse/photo3.jpg",1);break;


    default:A=0;break;}}


    puis vous pourrez metre un autre bouton avec A=A-1;
    a savoir que les images loadé se mettent toutes dans le coin superieur gauche ;puis pour la taille il faudra peut etre faire en sorte qu'elles aient les memes proprietes( largeur,hauteur);

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 64
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par ctrl06
    bonsoir
    je me permet d'apporter qqs informations a votre sujet ;moi je connais tres bien le swish et pour cela il faudra :
    crer un sprite qu'on nomera :image;
    puis un bouton nomme :BT;
    puis un texte dynamique variable :A ;
    on metra sur le bouton ce script :
    on load(){A=0;}
    on(press){
    A=A+1;
    switch (A){
    case'1':_root.image.loadmovienum("http://votre adresse/photo1.jpg",1);break;
    case'2':_root.image.loadmovienum("http://votre adresse/photo2.jpg",1);break;

    case'3':_root.image.loadmovienum("http://votre adresse/photo3.jpg",1);break;


    default:A=0;break;}}


    puis vous pourrez metre un autre bouton avec A=A-1;
    a savoir que les images loadé se mettent toutes dans le coin superieur gauche ;puis pour la taille il faudra peut etre faire en sorte qu'elles aient les memes proprietes( largeur,hauteur);
    Salut,

    Je n'avais pas pensé au loadMovieNum... Il faudra que je teste si il fait aussi gonfler la ram lorsqu'on l'utilise pour charger plusieurs fois la même image dans des movieclips differents.

    Merci pour ton aide!
    ++

  12. #12
    Membre averti Avatar de aorgerit
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 257
    Points : 301
    Points
    301
    Par défaut
    Bonjour,

    je suis désolé je n'avais pas vu cela sur ton post initial:
    "Si j'utilise des MovieClipLoader chaque movieclip prend une place....".

    Je suis désolé d'y revenir mais à priori tu créé toujours un nouveau MovieClipLoader pour chaque image.

    je pense que si tu utilise un seul MovieClipLoader initial et vide, tu pourras y charger au fur et à mesure de ton besoin une image différente, dans le meme objet MovieClipLoader. de fait l'image qui a été chargée auparavant sera déchargée et allègera ta ram.

    LoadMovieNum te posera le meme problème.

    Dans l'exemple que je t'ai donné, initialement du f6, je dispsose d'un clip contenant deux objets :
    le but est de charger une image et d'encadrer cette image.
    je charge donc cette image dans un clip, pusi une fois cette image chargée, par l'évènement onLoad, je défini le fait de :
    - positionner le cadre autour de l'image.
    - recentrer le'imahe puis son cadre au seine de l'application.

    autre chose,rien de bien grave, si tu es en publication web :
    tu utilise le code suivant:
    case'1':_root.image.loadmovienum("http://votre adresse/photo1.jpg",1);break;
    C'est très bien cependant si ton client web revient le lendemain, et que l'image a été changée sur le serveur entre temps, il va utiliser l'image qui est dans son cache de navigateur ou bien de proxy.
    case'1':_root.image.loadmovienum("http://votre adresse/photo1.jpg?alea="+Math.random(),1);break;

    te premettra d'éviter ce petit soucis

    Bien à toi.

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

Discussions similaires

  1. Resize d'une image
    Par Anonymous dans le forum C
    Réponses: 6
    Dernier message: 13/07/2008, 22h23
  2. comment faire une image de prechargement d'un script?
    Par 123quatre dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/11/2007, 22h32
  3. [FLASH 8] Préchargement d'une image en ligne sur CD
    Par blirette dans le forum Flash
    Réponses: 5
    Dernier message: 27/09/2006, 20h46
  4. lire une image au format RAW
    Par Anonymous dans le forum OpenGL
    Réponses: 5
    Dernier message: 20/05/2002, 00h11
  5. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 10h44

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