Accueil > Forum > > > > progressbar en forme de remplissage d'objet
progressbar en forme de remplissage d'objet
lundi 27 avril 2009 à 21:36:54 |
progressbar en forme de remplissage d'objet

tristan2b
|
Bonjour à tous Ma question est simple sur le fond, mais compliquée dans la forme. Merci d'avance pour vos réponses qui m'aideront surement. Voilà. J'aimerais créer une loadbar (ou préloader, ou progressbar, appelez ça comme vous voulez). Cette loadbar, j'aimerais au final qu'elle représente une image fixe (de source jpg) qui se remplit peu à peu, comme un bocal se remplissant d'eau. Ayant disposé mon image sur un calque, je place un cache sur un autre calque mais avec un alpha de 60% pour laisser transparaitre l'image initiale juste derrière. Ce cache, j'essaye de le faire déplacer en fonction de l'état de chargement (getBytesLoaded) afin qu'il laisse transparaitre l'image qui est juste derrière, évidemment de bas en haut pour que l'effet de remplissage se voit. Vous me suivez ? Alors voici mon code actionscript : Dans une première frame : bytes_loaded = Math.round(this.getBytesLoaded()); bytes_total = Math.round(this.getBytesTotal()); getPercent = bytes_loaded/bytes_total; this.loadBar._y -= getPercent; this.loadText = Math.round(getPercent*100)+"%"; if (bytes_loaded == bytes_total) { this.gotoAndPlay(3); } Et dans une seconde frame this.gotoAndPlay(1); Mon problème est que je n'arrive pas à régler la vitesse du remplissage (ou de déplacement du cache si vous voulez) sur le chargement de l'animation entière. Il y a toujours un décalage. Soit l'anim est déjà chargée et le remplissage n'est qu'à la moitié. Soit le remplissage est terminé depuis longtemps et l'anim n'est pas encore chargée. ça fait maintenant 3 jours et trois nuits que je me bats sur ce tout petit rien.  Ah oui au fait, si vous avez un autre code, une autre astuce, une autre solution pour arriver à mes fins, je suis preneur !! Merci d'avance !
|
|
mardi 28 avril 2009 à 09:28:54 |
Re : progressbar en forme de remplissage d'objet

Girou
|
Bonjour Effectivement, tu dois avoir quelques soucis... getPercent = bytes_loaded/bytes_total; te donnera toujours un nombre entre 0 et 1 this.loadBar._y -= getPercent; tu diminues a chaque enterframe le _y d'un nombre entre... 0 et 1 Je te propose de légèrement adapté ton script comme ceci : var loadBarBaseY=loadBar._y // position initiale de ton clip loadBar var LBScale=100 // mise a l'échelle du déplacement vertical // Ma proposition part sur une base de 100 pixels (1 pixel par %) // si ta loadbar doit monter de 150 pixel, tu mets LBScale=150getPercent = this.getBytesLoaded()/this.getBytesTotal(); this.loadBar._y = loadBarBaseY-Math.round(getPercent*LBScale);this.loadText = Math.round(getPercent*100)+"%"; if (bytes_loaded == bytes_total && bytes_total != 0) { this.gotoAndPlay(3); } @+ 
|
|
mardi 28 avril 2009 à 13:54:18 |
Re : progressbar en forme de remplissage d'objet

tristan2b
|
D'abord merci infiniment Girou.
Hélas, j'ai introduit ton code et puis plus rien. L'étape du loader a disparu. L'anim a beau être super alourdie pour pouvoir visionner le loader d'intro, mais cette fois avec le changement de code, plus rien n'apparait et on passe direct à l'anim, sans temps de chargement d'ailleurs (intéressant !).
Pourtant, analysant ton code, je le trouve très pertinent, même si je ne comprends pas encore tout.
Une solution ? Peut être aurais tu oublier quelque chose ?
|
|
mardi 28 avril 2009 à 14:19:40 |
Re : progressbar en forme de remplissage d'objet

Girou
|
Hello, je m'attendais a cette remarque. Il y a bien peut-être une erreur dans mon script mais il y a un autre point : lorsque tu publie une animation, tous les éléments de la bibliotheque sont exporté sur la première frame... tans qu'elle n'est pas chargée, l'animation ne démarre pas. Je te propose de séparer le loader de l'animation principale. Dans une animation a part (autre swf) tu ne met que les éléments utiles (graphiques et code) a ton loader, et tu charge ton animation principale via un movieClipLoaderLe code dans ton animation loader var container:MovieClip = this.createEmptyMovieClip("container", this.getNextHighestDepth()); var mcLoader:MovieClipLoader = newMovieClipLoader(); mcLoader.addListener(this); mcLoader.loadClip("animationPrincipale.swf", container); function onLoadInit(mc:MovieClip){ // effacer les éléments graphiques du loader } function onLoadProgress(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void{ var getPercent=bytesLoaded/bytesTotal; this.loadBar._y = loadBarBaseY-Math.round(getPercent*LBScale); this.loadText = Math.round(getPercent*100)+"%"; } var loadBarBaseY=loadBar._y // position initiale de ton clip loadBar var LBScale=100 // ou plus selon la distance en _y a parcourir mcLoader.loadClip("animationPrincipale.swf", container);
@+ 
|
|
mardi 28 avril 2009 à 14:56:43 |
Re : progressbar en forme de remplissage d'objet

tristan2b
|
Aye.... Je t'avouerai être un peu perdu. Déjà, j'imagine qu'il faut remplacer le "animationPrincipale.swf" (qui apparait 2 fois). N'y-a-t-il pas un problème de répertoire ou de chemin d'accès à ce second swf ? Genre est-ce qu'il ne faudrait-il pas rajouter juste avant l'adresse de mon serveur sur lequel se trouve ces anim ? Ensuite, tu me dis "tu charge ton animation principale via un movieClipLoader". Est-ce que cette commande est déjà présente sur ton code ou bien dois-je l'ajouter ? (question très con, j'avoue...) Et puis, dans tes instructions à l'intérieur du code, je lis : var LBScale=100 // ou plus selon la distance en _y a parcourir . Dois-je modifier quelque chose sur cette ligne ? Modifier le 100 ? Je suis désolé, j'aimerais beaucoup être un expert comme toi mais ça prend plus de temps chez certaine personne.... grrrr
|
|
mardi 28 avril 2009 à 15:23:31 |
Re : progressbar en forme de remplissage d'objet

Girou
|
Oye ! tu fais une copie (save as...) de ton animation actuelle, telle que tu l'as et tu l'appelles loader.fla Tu vires TOUT ce qui n'est pas en rapport avec ton loader. En gros il ne doit rester que loadBar et loadText tu crée un nouveau calque, tu le nomme 'script', tu crée une image clé à la première frame et tu colle le code ci-dessous var container:MovieClip = this.createEmptyMovieClip("container", this.getNextHighestDepth()); container._lockroot=true var mcLoader:MovieClipLoader = newMovieClipLoader(); mcLoader.addListener(this); mcLoader.loadClip("animationPrincipale.swf", container); function onLoadInit(mc:MovieClip){ this.loadBar.removeMovieClip() this.loadText.removeTextField() } function onLoadProgress(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void{ var getPercent=bytesLoaded/bytesTotal; this.loadBar._y = loadBarBaseY-Math.round(getPercent*LBScale); this.loadText = Math.round(getPercent*100)+"%"; } var loadBarBaseY=loadBar._y // position initiale de ton clip loadBar var LBScale=100 // ou plus selon la distance en _y a parcourir mcLoader.loadClip("main.swf", container); tu publie le tout sous le nom de loader.swf (html + swf) tu fais une copie (save as...) de ton animation actuelle, telle que tu l'as et tu l'appelles main.fla tu vires TOUT ce qui est en rapport avec ton loader et tu publie cette animation sous le nom de main.swf (uniquement swf) tu place loader.swf et main.swf dans le même répertoire... et voila... tout le code est fait de tête... pourrait bien y avoir une erreur ou l'autre @+ 
|
|
mardi 28 avril 2009 à 15:35:12 |
Re : progressbar en forme de remplissage d'objet

tristan2b
|
Bon.
J'ai suivi toutes tes instructions à la lettre mais ça ne fonctionne pas.
Sans vouloir te froisser, il y a juste une toute petite erreur dans le script, tu as juste oublié de remplacer animationprincipale.swf par main.swf. Enfin, voilà, presque rien.....
Sinon, le loader.swf reste figé avec la loadbar affichée en entier, sans effet de remplissage quelconque, ni même de renvoi vers l'autre swf.
J'espère que tu ne t'impatiente pas trop. J'ai l'impression qu'avec toi, j'ai la solution pas loin..... Pourvu que l'on trouve, et surtout pourvu que tu ne perdes pas patience !
a+
|
|
mardi 28 avril 2009 à 15:41:58 |
Re : progressbar en forme de remplissage d'objet

Girou
|
heu non... mcLoader.loadClip("animationPrincipale.swf", container);
est une ligne a completement retirer !!!
c'est la dernière ligne mcLoader.loadClip("main.swf", container);
qui est la bonne :o)
@+ 
|
|
mardi 28 avril 2009 à 15:55:41 |
Re : progressbar en forme de remplissage d'objet

tristan2b
|
Ok.
Il y aussi cette ligne qui me parait bizarre : var mcLoader:MovieClipLoader = newMovieClipLoader();
Il me semble que tu essaye de demander quelque chose avec newMovieClipLoader mais dans flash, cette fonction ne se met pas en bleue....
???
|
|
mardi 28 avril 2009 à 16:01:05 |
Re : progressbar en forme de remplissage d'objet
|
Cette discussion est classée dans : image, bytes, forme, progressbar, remplissage
Répondre à ce message
Sujets en rapport avec ce message
Comment isolé une personne ou une forme dans une image dans flashmx(enfin venez c'est conpliquer)!!!! [ par Le mulo ]
bonjours je suis gérémi j'ai 10 ansJe ne sait pas comment dire donc voici un site :http://www.streetmachine.frje ne suis pas trép fort mais je voudrai
interpolation de forme entre deux images [ par niko14 ]
voila salut tout le monde!je voudrais faire une interpolation de forme entre deux images toutes simples (elles sont carrées avec dedans des revues, et
Charger une image dans un MovieClip vide [ par kenmaclord ]
Bonjour, je voudrais charger une image dynamiquement dans un MovieClip qui n'aurait ni remplissage ni contour. J'ai essayé 2 solutions: _root.cr
calques de masque [ par Solmajeur ]
Bonjour, j'espère que je poste sur le bon forum. Dans le cas contraire, merci de me le faire savoir, ou de rediriger correctement ma demande. Je début
Comment modifier la forme d'une video [ par shokadelika ]
Bonjour.Je souhaite insérer un vidéo sur une image d'écran plasma pour qu'elle se lise avec une "impression de vue de coté", dans le style de l'image
progressbar sur plusieurs images (?) [ par emfromkraland ]
Bonjour, j'ai un énoooorme soucis à régler pour la création de mon site. J'ai un clip central qui charge 2 fichiers swf pour le moment, qui eux-même
Remplissage d'une image/dessin [ par croftman ]
Bonjour! J'aimerais faire un effet de "remplissage" sur une image, c.a.d. que j'ai un dessin blanc et j'aimerais que, par exemple, de haut en bas le
liberer une ressource (jpeg) utiliser par uiloader [ par fbsoft ]
salut, je veux faire une petit application de visualisation des image avec une option de supprimer l'image en cours j'ai affichier les image dans un U
rajouter un état d'avancement du chargement d'une image [ par luks ]
salut à tous, pour une gallerie photo, j'ai créé des vignettes qui renvoient sur des images clefs dont le code est par exemple : this.createEmptyMov
ajouter un état de chargement d'une image [ par luks ]
salut à tous, pour une gallerie photo, j'ai créé des vignettes qui renvoient sur des images clefs dont le code est par exemple : this.createEmptyM
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|