Opacité d'une image en fonction de l'avancement d'un preload

Opacité d'une image en fonction de l'avancement d'un preload - Flash/ActionScript - Programmation

Marsh Posté le 09-09-2009 à 13:47:13    

Bonjour,  
 
J'ai crée récemment une animation flash pour l'intro de mon site et j'ai rajouter un preloader avec une barre de chargement et le % de progression vu qu'elle est un peu grosse pour des 56K.  
 
Ce que je voudrais faire sur macromedia flash, c'est pendant que la barre de preload progresse, qu'une image apparraisse progressivement en faisant varier l'opacité. Par exemple, au début elle serait à 0%, puis lorsque la barre de preload est à 50% l'image aura une opacité de 50% etc... jusqu'à 100%.  
 
J'ai pensé à faire simplement une clé à la frame 1, mettre mon image en alpha 0% puis plus loin sur une autre clé augmenter l'alpha de l'image à 100% et enfin rajouter une "motion tween"... mais ce n'est bien sur pas la solution, il doit falloir de l'actionscript?  
 
Si quelqu'un peut m'expliquer la marche à suivre ce serait sympa merci.  
Voici le site : http://anime.island.free.fr/

Reply

Marsh Posté le 09-09-2009 à 13:47:13   

Reply

Marsh Posté le 09-09-2009 à 15:19:54    

Il faudrait que tu ais une notion d'ActionScript deja...
Parceque ce qui faut faire est tres simple, mais si tu pars de 0, ça sert à rien...


Message édité par abais le 09-09-2009 à 15:21:11

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 09-09-2009 à 15:26:50    

Ui c'est sûr... pour mon preload j'avais mit ça sur la première frame de ma première scene appellée "preload". Une fois à 100% cela lance mon autre scène où il y a l'animation proprement dites
Il faudrai que je rajoute un clip la dedans?
 
stop();
var weight = this.getBytesTotal();
this.onEnterFrame = function() {
progress_load = this.getBytesLoaded();
part_load = Math.round((progress_load/weight)*100);
texte = "chargement en cours... "+part_load+"%";
barre._xscale = part_load;
if (part_load == 100) {
delete this.onEnterFrame;
gotoAndPlay("Scene 1","1" );
 
}
};

Reply

Marsh Posté le 09-09-2009 à 15:46:36    

Oui, rajoute un clip contenant l'image que tu veux...
Tu le place, et tu lui donne un nom d'occurence...
en dessous de ta ligne part_load = ....., tu met :

 

monClip._alpha = part_load;

 

(en remplaçant "monClip" par le nom que tu as mis à ton clip)


Message édité par abais le 09-09-2009 à 15:47:10

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 09-09-2009 à 16:07:44    

Voila j'ai ajouté mon image sur un nouveau calque à la première frame et l'ai transformé en movie clip puis donné le nom d'occurrence "image" et ajouter la ligne d'actionscript mais maintenant, je n'ai plus de barre de preload ni de chargement et l'image n'apparaît pas... (en forçant le téléchargement)
 
stop();  
var weight = this.getBytesTotal();  
this.onEnterFrame = function() {  
progress_load = this.getBytesLoaded();  
part_load = Math.round((progress_load/weight)*100);  
image._alpha=part_load;
texte = "chargement en cours... "+part_load+"%";  
barre._xscale = part_load;  
if (part_load == 100) {  
delete this.onEnterFrame;  
gotoAndPlay("Scene 1","1" );  
 
}  
};


Message édité par Draknaryss42 le 09-09-2009 à 16:08:09
Reply

Marsh Posté le 09-09-2009 à 16:51:13    

ça serait plutôt weight/progress_load

Reply

Marsh Posté le 09-09-2009 à 17:00:24    

weight/progress_load à la place de ça?
 
part_load = Math.round((progress_load/weight)*100);  
 
ou là?
 
image._alpha=part_load;

Reply

Marsh Posté le 09-09-2009 à 18:02:30    

non non, c'est bien progress_load/weight
Change le nom, "image" est peut-etre un nom interdit (dans le sens ou il est reservé à autre chose, comme _root, _x etc....) (c'est le cas si il est bleu d'ailleurs)
Sinon, tu es sure que c'est bien le nom de l'instance et non celui du symbole ? le nom d'instance, c'est le 1er cercle rouge qu'illustre cette image :
http://www.actionscript4designers.com/wmg2/images/gb_root/instance_symbol_names.gif


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 09-09-2009 à 18:31:54    

Oui j'ai bien mit en occurence mais j'ai le même souci... dès lors que je rajoute mon image n'importe où (sur un nouveau calque, sur le premier...) j'ai un écran noir quand je fais "simulate download" mais peut-être que cela marche en direct?(je me rends pas compte vu que c'est rapide sans simulation). Je vais essayer de te montrer en détail ce que j'ai fait.
 
J'ai un premier calque "layer1" avec les éléments de la barre de chargement + mon image que j'ai transformé en movieclip "introimage_mc" et la même occurrence
En layer 2, c'est pour mon bouton "SKIP" et j'ai deux scenes : "preload"(barre de préchargement) et "Scene 1"(animation)
http://nsa09.casimages.com/img/2009/09/09//090909062751586929.jpg
 
http://nsa09.casimages.com/img/2009/09/09//090909062951934937.jpg
 
http://nsa09.casimages.com/img/2009/09/09//090909063019181017.jpg
 
http://nsa09.casimages.com/img/2009/09/09//090909063050726267.jpg

Reply

Marsh Posté le 11-09-2009 à 11:09:30    

Quelqu'un pourrait m'aider si je mets à disposition mon fla svp?

Reply

Marsh Posté le 11-09-2009 à 11:09:30   

Reply

Marsh Posté le 11-09-2009 à 15:51:51    

oui, met le à dispo

Reply

Marsh Posté le 11-09-2009 à 16:30:33    

Merci je mets donc à disposition mon fla; l'image à rajouté sur ma scene "preload" s'appelle imagepreload et est dans la bibliotheque.
 
Si quelqu'un peut m'expliquer ou modifier mon fla pour que j'apprenne comment il faut faire ce serait sympa merci.
 
Fichier FLA -->http://www.megaupload.com/?d=18Z9LO2J


Message édité par Draknaryss42 le 11-09-2009 à 16:30:52
Reply

Marsh Posté le 14-09-2009 à 11:05:06    

Personne svp?

Reply

Marsh Posté le 14-09-2009 à 12:32:37    

Haha, la raison est super simple...
Tu viens de gouté au comble du loader...
En effet, ton loader est lui même composé d'une image super lourde (20mo brut !!!)... comment veut tu que l'image soit télécharger/afficher avant même d'entamer la phase de loading ???
Il faut vraiment que tu optimise tes images pour le web...
Met les à la bonne taille avant d'exporter en PNG !
Compresse-les dans flash aussi (dans les propriété du symbole bitmap)...
Ton image ne doit pas pesée plus de 100ko... ce qui est déjà beaucoup finalement...


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 14-09-2009 à 13:03:09    

Merci beaucoup ça fonctionne maintenant ! Le souci venat bien de la taille de l'image; elle ne fait que 40 ko maintenant !
 
Par contre j'aurais voulu savoir comment réduire le poids de mon swf parce qu'il est assez conséquent... le plus gros doit venir de la musique qui est en mp3 et dure 4mn d'où une énorme taille...
En quelle format il vaudrait mieux que je la convertisse en gardant la même qualité si possible tout en réduisant le poids ?

Reply

Marsh Posté le 14-09-2009 à 13:30:47    

Le mieux est de lire le MP3 dynamiquement, c'est à dire que ton .mp3 sera pas integré à ton SWF... tu le chargera par action script, et il le lira en streaming (pas besoin que le visiteur attende d'avoir charger le fichier complet...)
Bref, il n'y aura pas de chargement...
combien pese ton swf ?
Pour ton MP3, tu peux l'aléger en changeant le bitrate (Kbit/s)...
J'estime perso que pour un son web, 128 kBs suffisent amplement... meme avec une connexion moyenne, le chargement ira plus vite que la lecture


Message édité par abais le 14-09-2009 à 13:31:34

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 14-09-2009 à 14:00:16    

Mon swf pèse 1363 Ko...
 
Lire le mp3 en streaming? A ce moment là je l'héberge sur mon ftp par exemple et je dois mettre un code d'action script dans mon animation c'est ça?
 
Sinon on m'avait parlé de fichier .ogg qui serait de la même qualité d'un mp3 mais moins lourd... ça me paraissait louche... vous connaissez?
 
mon mp3 est en 128 kbps et fait 4163 Kb pour le moment


Message édité par Draknaryss42 le 14-09-2009 à 14:05:37
Reply

Marsh Posté le 14-09-2009 à 14:10:00    

L'ogg ne se distingue pas du MP3 quand on veut un son de moyenne/basse définition...
Je ne suis pas sure que l'ogg se lise en streaming en plus...
Sinon, oui, tu met le mp3 chez ton hebergeur et tu donne le chemin relatif en action script :

 

var monSon= new Sound();
monSon.loadSound("maMusique.mp3",true);

 

ça c'est par exemple pour lire "maMusique.mp3" qui est dans le même dossier que ton .swf...


Message édité par abais le 14-09-2009 à 14:11:02

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 14-09-2009 à 14:16:39    

Voila j'ai mi mon mp3 en streaming sur l'animation en utilisant ce code-ci !
J'ai l'impression que ça va plus vite !
 
Pourrais-tu essayer pour me dire si le temps d'attente est raisonnable?
 
http://anime.island.free.fr/

Reply

Marsh Posté le 14-09-2009 à 15:16:40    

Chez moi c'est quasi instantané, je suis en IDF... Mais mon débit est loin d'être représentatif à l'échelle national !


Message édité par abais le 14-09-2009 à 15:19:00

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 14-09-2009 à 17:07:21    

Ok merci pour tout en tout cas ! ;)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed