begin process at 2010 02 10 12:26:47
  Trouver un code source :
 
dans
 
Accueil > 

Tutoriels

 > 

ActionScripts

 > CONTROL DU CHARGEMENT DE SITE & DU CHARGEMENT DE CLIP

CONTROL DU CHARGEMENT DE SITE & DU CHARGEMENT DE CLIP


 Information sur le tutoriel

Note :
9,38 / 10 - par 32 personnes
9,38 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

 Description

Ah force de répondre toujours a cette mm question : comment on fai un chargement pour machin ou pour machin
j'me suis dis que j'allais faire un tuto une bonne fois pour toute pour tous les types de chargement (préload site et load de fichier externe)
donc voilà

Tutorial

C'est parti

Chargement de site (chargement de l'animation principale) :

1/ Préparation

Vous avez votre site dans flash, on dira que le site commence à la scéquence "Site" pour l'exemple, a vous d'adapter
Créer une nouvelle scéquence (Fenètres > Autres panneaux > Séquences, et appuillez sur le +)
Nommez là "Chargement" (en double cliquant sur le nom)
Déplacez là dans la liste (glisser déposer) de sorte qu'elle soit en première place (tout en haut).
Vous pouvez fermer la fenetre des Scéquences.

2/ Les éléments graphiques

Vous vous retrouvez mainenant face a une scéquence vide, avec un calque vide
Nommez ce calque "Eléments", et créez en un autre au dessus, nommé "Chargement" ou "Actions"
Sur le calque "Eléments", créer un clip rectengulaire (la futur barrede chargement), et nommez son occurence (dans le panneau de propriété)"Barre".
Sur ce même calque créez un champ texte dynamique de nom d'occurence "Pourcentage".

Les élements graphiques sont prés, si je récapitule, nous somme sur lascéquence "Chargement" contenant 2 calques, un nommé "Actions", l'autre"Eléments", sur ce dernier, nous avons un clip nommé "Barre" et unchamp texte dynamique nommé "Pourcentage".

3/ Le code ActionScript

Séléctionnez le calque "Actions", la premiere image (d'ailleur il n'yen a qu'une) et ouvrez le panneau d'ActionScript (F9), il doit y avoirécrit en haut dans le titre de la fenetre "Actions - Image", sinonc'est que vous n'avez pas selectionné l'image sur le calque "Actions".
et il nous faut noté ceci :

Premierement, on type les élements graphique pour l'aide a la saisie du code ActionScript :
var Barre:MovieClip;
var Pourcentage:TextField;


Ensuite, nous passons le champ texte dynamique en html, histoire que ce soit plus jolie :
Pourcentage.html = true;

Puis nous allons définir une fonction onEnterFrame qui va nous permettre de savoir ou nous en somme du chargement
    Une fonction onEnterFrame, est une fonction récurente, c'est à direexecuté en permanance tant que l'on ne l'arrete pas (la supprime pas),sur une animation cadencé a 12 images par secondes (valeur par défaut)le code contenu dans la fonction onEnterFrame sera éxécuté 12 fois parseconde.

function onEnterFrame(){
    // calcul du pourcentage chargé
    var pc = _root.getBytesLoaded()*100/_root.getBytesTotal();
    // on redimentionne la barre de progression du chargement.
    Barre._xscale = pc;
    // on met a jour le champ text
    Pourcentage.htmlText = "Chargement : <b>"+Math.round(pc)+"%</b> effectué";
    // on vérifie si le chargement est complet
    if (pc >= 100){
        // si oui
        // on supprime la fonction onEnterFrame qui ne sert plus.
        delete onEnterFrame;
        // on va à la scéquence suivante, le site.
        play();
    }
}

et enfin il ne faut pas oublier de mettre un stop(); pour ne pas passé directement à la séquence "Site".
stop();

Récapitulation du code :

var Barre:MovieClip;
var Pourcentage:TextField;

Pourcentage.html = true;

// on défini une fonction onEnterFrame, éxécuté en permanace pour controler le chargement
function onEnterFrame(){
    // calcul du pourcentage chargé
    var pc = _root.getBytesLoaded()*100/_root.getBytesTotal();
    // on redimentionne la barre de progression du chargement.
    Barre._xscale = pc;
    // on met a jour le champ text
    Pourcentage.htmlText = "Chargement : <b>"+Math.round(pc)+"%</b> effectué";
    // on vérifie si le chargement est complet
    if (pc >= 100){
        // si oui
        // on supprime la fonction onEnterFrame qui ne sert plus.
        delete onEnterFrame;
        // on va à la scéquence suivante, le site.
        play();
    }
}

stop();


Et voilà le préchargement pour votre site est fini.
Vous pouvez mantenant imagine ce que vous voulez comme animation de chargement...
N'oublier de mettre un stop a la fin de votre séquence "Site" (ou a lapremiere image s'il y en a qu'une) pour ne pas revenir en boucle auchargement.
    Pour tester votrechargement dans Flash, vous devez compilez votre animation une premierefois (CTRL+ENTRER) et refaire CTRL+ENTRER une seconde fois, sans avoirrefermer la fenetre.
Voici un FLA d'exemple.

Chargement de fichier externe :

Nous allons commencer avec le chargement de clip externe, une image jpg fera parfaitement l'affaire
Donc copiez vous une image jpg dans votre dossier de travail, et nommez là "image.jpg".

Le model de fonctionnement est le même que pour le chargement del'animation principale. Nous allons utilise un onEnterFrame pourvérifier le chargement de l'image dans le clip

Un clip (img/jpg et png/gif en plus pour Flash8) se charge soit sur unniveau (loadMovieNum) , soit dans un movieclip préexistant(clip.loadMovie).
Nous allons nous voir comment faire le chargement et le controler dans un clip (je préferes personnellement cette méthode)

1/ Les éléments graphiques
Donc vous devez créez un clip vide soit via la bibliothèque(cliquez sur le nenu de la bibliothèque > nouveau symbole) et placéle sur la scéquence
Soit en desinant un forme, la selectionnant, appuyez sur F8 pour créer un symbole. Et suprrimer le dessin dans ce symbole
Vous avez donc un clip posé sur la scéquence.
Nommez ce clip "Image".
Nous allons ajouter aussi un bouton qui lancera le chargement, et nommez son occurence : "ChargerImage"
Faites un nouveau calque et nommez le "Actions".

2/ le code ActionScipt
Séléctionnez le calque "Actions" et ouvrez le panneau d'actions.

On va créer un fonction charger(nomImage) qui créera la fonctiononEnterFrame (pour ne l'avoir que quand c'est nécessaire) et lancera lechargement de l'image.
On commence par typé les élements graphiques pour l'aide a la saissie :
var Image:MovieClip;
var Barre:MovieClip;

Puis on cache la barre de chargement par default.
Barre._visible = false;
On créer la fonction charger :
function charger(url){
    // on affiche la barre de chargement
    Barre._visible = true;
    Barre._xscale = 0;
    // création dela fonction récurente de control de chargement
    onEnterFrame = function(){
        // calcul du pourcentage chargé
        var pc = Image.getBytesLoaded()*100/Image.getBytesTotal();
        // ajustement de la taille de la barre de chargement
        Barre._xscale = pc;
        if (pc >= 100){
            // si c'est charger on stop (supprime) le control
            delete onEnterFrame;
            // et on recache la barre de chargement
            Barre._visible = false;
        }
    }
    // ici on lance le chargement de l'image dans le clip
    Image.loadMovie(url);
}


Il ne reste plus qu'a mettre l'appel de la fonction de charement sur le bouton :
on(release){
    charger("image.jpg");
}


Vous pouvez modifier ce script pour charger des sons MP3, ou encore desfichiers XML ou les données LoadVars (seulement de fichier brut txt caravec un scipt serveur genre php ca ne marche pas, le texte ecritn'ayant pas de taille prédéfini a l'avance)
Pour les sons,
Créez un objet Sound, charger un MP3, en non streaming et controler son chargement avec getBytesLoaded()
var son:Sound = new Sound()
son.loadSound("audio.mp3",false);

le onEnterFrame et le mm, en ciblant le son et nom le clip bien sur.
Il en est de mm avec les XML et LoadVars, référez vous a l'aide plus plus de détails.

Récapitulation du code :

Sur Image dans le scénario

var Image:MovieClip;
var Barre:MovieClip;

Barre._visible = false;

function charger(url){
    // on affiche la barre de chargement
    Barre._visible = true;
    Barre._xscale = 0;
    // création dela fonction récurente de control de chargement
    onEnterFrame = function(){
        // calcul du pourcentage chargé
        var pc = Image.getBytesLoaded()*100/Image.getBytesTotal();
        // ajustement de la taille de la barre de chargement
        Barre._xscale = pc;
        if (pc >= 100){
            // si c'est charger on stop (supprime) le control
            delete onEnterFrame;
            // et on recache la barre de chargement
            Barre._visible = false;
        }
    }
    // ici on lance le chargement de l'image dans le clip
    Image.loadMovie(url);
}

et sur le bouton

on(release){
    charger("image.jpg");
}

Voici le FLA d'exemple.

FIN

_Benjy  chez kOlapsis

Merci de penser a noté ce tutorial...


Commentaires

Commentaire de Mafassure le 10/10/2005 19:57:10 administrateur CS

Salut benjy

Excellent flash 8 accepte plus de type de fichiers images.... plus de soucis avec les jpg progressifs....

Variables typés : pas indispensable ici. (Bonne habitude à prendre)

Le tuto aurai serai top complet si tu faisait référence à MovieClipLoader() et ces objet d’écoute associé….

Maintenant je sais quel url indiquer pour les questions
de chargement sur le forum...   ;O)

A+


Commentaire de _benjy le 10/10/2005 20:12:53

Pour les typages oui je sais mais tant qu'a faire autant que ce qui utilise ce tutorial apprennents a les mettres, beacause des que tu passe au Class, c indispensable...
Pour les moviecliploader, c'est une bonne idée, c'est vrai que perso je m'en sert pas donc j'y ai pas pensé, mais ca poura faire l'objet d'une mise a jour
Enfin pour les images, les jpg doivent toujours etre en non progressif, le fait d'avoir d'autre format a dispo, ne veut pas dire que ceci a changé ...
++

Commentaire de Mafassure le 10/10/2005 20:26:15 administrateur CS

sisi les  jpg progressifs ca marche :O)

Commentaire de _benjy le 10/10/2005 20:58:06

ah ouaip !! j'avais pas fais gaffe a ca ... tellement l'habitude ... je lookerai ca alors
thx pour l'info
++

Commentaire de bogros le 05/11/2005 18:28:26

Ce code marche-t-il sur Flash MX ? Lorsque j'essaie d'ouvrir le .fla donné en exemple, j'ai l'erreur : format de fichier inattendu.
Les moviecliploader, c'est en MX 2004 uniquement ? Ou faut-il installer le composant ?

Commentaire de _benjy le 05/11/2005 18:38:20

Les codes présentés marche sous Flash MX, a la condition d'enlever les typages de variables, car je crois, si je me rapelle bien qu'MX ne gere pas ca.
Donc pour MX enlever tout les :TypeDeVar (ex : var Image:MovieClip; devient var Image;).
Ensuite ce tutoriel ne parle pas de MovieClipLoader et oui ca n'existe que pour MX 2004 et suppérieur. Donc avec MX, utilise ce tuto pour te fairer ton loadeur avec onEnterFrame (ca marche).
Le FLA quand a lui est en MX 2004 ou Flash 8 je sais mm plus.
dans tout les cas, tu recup la version d'essai de Flash 8 chez macromédia et tu pourras l'ouvrir (et te l'enregistré en Flash MX si ca te fait plaisir).
Au passage dans Flash 8 t'aura MovieClipLoader.
Ciao

Commentaire de moussemoussa le 17/12/2005 20:21:03

dis moi, ton script fonctionne t il avec un FLA qui comporte plusieurs scenes? du genre: scene1: Loader/Login scene2: Intro scene3: Site

....

Commentaire de _benjy le 17/12/2005 20:53:29

la partie chargement d'animation cahrge tout un site (tt les scene)
par contre utiliser les scee est merdique dans Flash, il arrive souvent que les gotoAndPlay("nomDeScene",numImage) marche pas ... et on sait pas pourquoi
tjs est t'il qu'en fin de mon script, il y a juste un play() quand le tt est chagé donc ca passe a la scene suivante apres a toi de faire ta navigue, mais les scenes = pas cool

++

Commentaire de oni22 le 02/02/2006 11:09:47

Bonjour
J'ai suivi ton tuto qui est très bien fait mais j'ai un soucis. En faisant un test en local il ne trouve pas le chemin de l'image. Voici le message d'erreur:
Error opening URL "file:///C|/Documents%20and%20Settings/xxx/Load%20externe/undefined"
Si vous avez une idée...

Commentaire de _benjy le 02/02/2006 14:18:48

ben ouaip tu t planté par là LOL
relis bien tout t'as forcement une erreur
++

Commentaire de marsupio77 le 09/02/2006 17:14:08

le lien a ton site perso n'existe plus ? est ce normal ?

Commentaire de _benjy le 09/02/2006 17:49:23

voilà c remit

Commentaire de toutalarrache le 11/02/2006 15:53:32

salut,
merçi a toi _benjy pour le tuto "chargement de site", enfin qlq chose de clair,simple et efficaçe.
A+

Commentaire de ngueda le 13/02/2006 11:21:07

Bonjour,

Je suis débutant en flash et ce tutorial m'a bien aidé,
j'ai donc bien une barre de chargement qui s'affiche avant de lancer la première page du site mais j'aimerai avoir la progression du chargement sur cette barre, est ce que quelqu'un pourrait m'aider?
Merci

Commentaire de _benjy le 13/02/2006 14:57:59

koi le texte en % ?
ben ajoute un champ texte et change le texte du champ dans le onEnterFrame
monChamp.text = Math.round(pc)+"%";
++

Commentaire de geese10 le 02/03/2006 14:27:55

salut moi oussi jai un problaime dans mon site je veu faire une chargement de l animation mai je veu une exemple de chargement ca ve dir souvgard exemple-chargement.fla il ya guelquan peu maidé

Commentaire de Jobakim le 04/03/2006 16:01:05

Je pense que c'est la couleurs du texte qui ne va pas, personne ne sait comment la modifier?

Commentaire de _benjy le 04/03/2006 17:44:29

salut
alors, pour geese10 les exemple sont en ligne, au url indiqué sur le tuto
pour jobakim, le changement de couoleurs du texte, se fait soit en changeant la couleur du champ texte (panneau de propriete), soit via le code avec textColor ou encore les style css
++
_benjy

Commentaire de LeGourdin le 11/03/2006 16:53:16

Salut all, très bon tutorial, merci.

Mais j'ai quand même un problème : Mon annim Flash pèse 1Mo et quand on tombe sur la page du site, il faut attendre que 45% de l'annim soit chargée pour qu'il affiche la petite barre de chargement, comment puis-je procéder ?

Commentaire de _benjy le 11/03/2006 17:05:24

malheureusement, pour ca il n'y a pas de solution, le prb c que le plugin doit chargé un minimum de l'anim av de pouvoir s'initialiser, et donc pour afficher quelque chose (la barre de chargement pour toi).
et vu que 1Mo c pas enorme, le truc est là
tu peux tjs voir pour faire un loader en javascript que tu colle au dessus de l'anim dans un calque, j'ai pas encore essayé mais ca doit etre faisable.
++

Commentaire de janetdream le 20/03/2006 16:43:07

Je n'y connais rien en flash... j'ai donc essayer le premier code : la berre clignote comme si ca lisait en boucle et le pourcentage n'apparait pas :s

Malgré tout, tout est clairement expliqué et ca permet même au débutants de se lancer. (je ne trouve pas comment faire un preloader sur le tuto de flash)

Merci encore Benjy, je vais attaquer ton second code ;)

Commentaire de janetdream le 20/03/2006 16:46:06

Barre et pourcentage sont ds le même clip rectangulaire ?

Commentaire de eqrtgqregqer le 28/03/2006 18:53:57

Même pb que Le Gourdin...
Si tu as une idée de la marche a suivre pour faire un loader en JavaScript, c cool.
Merci et bravo pour ton aide

Commentaire de eqrtgqregqer le 28/03/2006 21:29:21

Même pb que Le Gourdin...
Si tu as une idée de la marche a suivre pour faire un loader en JavaScript, c cool.
Merci et bravo pour ton aide

Commentaire de samichlamich le 29/03/2006 16:23:06

Excellent tutorial...

Commentaire de jesuisunscript le 12/04/2006 15:41:19

FIREFOX ou IE

Tutorial excellent, néanmoins,

-SOUS FIREFOX, "Barre" ne s'affiche pas chez moi, l'image apparait d'un coup une fois chargée (le tout mis sur un server avec une image 400ko).

-SOUS IE, "Barre"  apparait normalement : le préloader joue sous rôle sans soucis.


Une explication ?

Commentaire de jesuisunscript le 12/04/2006 15:41:36

FIREFOX ou IE

Tutorial excellent, néanmoins,

-SOUS FIREFOX, "Barre" ne s'affiche pas chez moi, l'image apparait d'un coup une fois chargée (le tout mis sur un server avec une image 400ko).

-SOUS IE, "Barre"  apparait normalement : le préloader joue sous rôle sans soucis.


Une explication ?

Commentaire de jesuisunscript le 12/04/2006 15:41:55

FIREFOX ou IE

Tutorial excellent, néanmoins,

-SOUS FIREFOX, "Barre" ne s'affiche pas chez moi, l'image apparait d'un coup une fois chargée (le tout mis sur un server avec une image 400ko).

-SOUS IE, "Barre"  apparait normalement : le préloader joue sous rôle sans soucis.


Une explication ?

Commentaire de _benjy le 12/04/2006 15:48:30

Merci pour les 3 poste en mm temps LOL
sinon désolé mais moi j'ai aucun prob avec FireFox ca marche pareil chez moi
Qui plus est c le mm plugin pour firefox et ie

Commentaire de jesuisunscript le 13/04/2006 00:18:54

Désolé pour ce triple post, je n'ai pourtant valider qu'une seule fois...
Merci pour cette réponse rapide, je vais étudier ma config ... A+ et encore félicitation pour ce tuto!

Commentaire de Che324 le 22/04/2006 12:20:57

    Salut man,

Franchement  _benjy... tutorial vraiment super bien expliqué.. je mets trés rarement des comentaires, mais là je me suis sentit obligé.. en tout cas, je sais pas si tu as déjà donné des formations, mais j'ai l'impression que tu te sens une âme de prof.. :).. bien joué et merci dton aide si précieuse. a+

Commentaire de _benjy le 22/04/2006 12:31:21

LOL bien vu Che324, j'suis formateur dans des centre pro ;)
et tt mieux que ces p'tit tuto vous aides, c'est fait pour LOL
@llé ++ et bon dev @tous

Commentaire de flambyture le 26/04/2006 17:05:12

Hello

moi aussi je trouve ce tuto hyper bien expliqué, c'est bien, on comprends tout.
Par contre ça ne fonctionne pas, chez moi en tout cas...
Comme Le_gourdin, mon anim mets un temps infini à s'ouvrir (la fenêtre IE) et lorsqu'elle s'affiche c'est pour lancer mon anim (ou me charger mon clip), je n'ai même pas le temps de voir la barre de chargement. Mon anim fait 15 Mo !!! ce qui est pas mal je pense pour le préload.
De plus quand je fais des tests avec trace dans mon onEnterFrame, je teste getBytesLoaded()et getBytesLoaded() et dès le 1er résultat de mon onEnterFrame (qui est censé quand même me l'afficher autant de fois que onEnterFrame se jour pdt le préload) il ne me sort qu'une seule réponse et getBytesLoaded()et getBytesLoaded() ont déjà la même valeur (1 ms de lancement de l'anim)
C'est à en devenir dingue.
Y'a pas moyen de mettre le load dans un cache ou un truc comme ça ? Faire un 1er swf tt léger qui s'affiche avec la barre, pui récupérer les valeurs (poids etc...) d'un autre swf ds le même repertoire et les faire s'afficher au fur et à mesure dans le 1er swf tout léger..?
Je deviens maboul. Si quelqu'un a une soluce merci d'avance.
Flamby

Commentaire de flambyture le 26/04/2006 17:05:38

Hello

moi aussi je trouve ce tuto hyper bien expliqué, c'est bien, on comprends tout.
Par contre ça ne fonctionne pas, chez moi en tout cas...
Comme Le_gourdin, mon anim mets un temps infini à s'ouvrir (la fenêtre IE) et lorsqu'elle s'affiche c'est pour lancer mon anim (ou me charger mon clip), je n'ai même pas le temps de voir la barre de chargement. Mon anim fait 15 Mo !!! ce qui est pas mal je pense pour le préload.
De plus quand je fais des tests avec trace dans mon onEnterFrame, je teste getBytesLoaded()et getBytesLoaded() et dès le 1er résultat de mon onEnterFrame (qui est censé quand même me l'afficher autant de fois que onEnterFrame se jour pdt le préload) il ne me sort qu'une seule réponse et getBytesLoaded()et getBytesLoaded() ont déjà la même valeur (1 ms de lancement de l'anim)
C'est à en devenir dingue.
Y'a pas moyen de mettre le load dans un cache ou un truc comme ça ? Faire un 1er swf tt léger qui s'affiche avec la barre, pui récupérer les valeurs (poids etc...) d'un autre swf ds le même repertoire et les faire s'afficher au fur et à mesure dans le 1er swf tout léger..?
Je deviens maboul. Si quelqu'un a une soluce merci d'avance.
Flamby

Commentaire de flambyture le 26/04/2006 17:18:02

Je viens de mettre l'anim en ligne... et CA MAAARCHE !! :o))
Donc je suis désolé pour ce post (ces 2 posts en fait, jvous promets g cliqué qu'une fois) et tâcherai de tester tout de bout en bout la prochaine fois avant de poster ;o)

Merci encore, c'est magique !!

Flamby

Commentaire de scara 51 le 11/08/2006 14:11:55

pourquoi utilise onEnterFrame ? Ca mange pas mal de performances ce truc ...

Il vaudrait mieux le remplacer par : onLoadProgress(). Je m'explique :


var Image:MovieClip;
var Barre:MovieClip;

var mcLoader:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
mcLoader.addListener(listener);


Barre._visible = false;

function charger(url){
    // on affiche la barre de chargement
    Barre._visible = true;
    Barre._xscale = 0;
    // création dela fonction récurente de control de chargement
    // Donc ceci change !!!!
    listener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
        // calcul du pourcentage chargé
        var pc = bytesLoaded*100/bytesTotal;
        // ajustement de la taille de la barre de chargement
        Barre._xscale = pc;
        listener.onLoadInit = function(target:MovieClip):Void {
            // on recache la barre de chargement
            Barre._visible = false;
        }    
    // ici on lance le chargement de l'image dans le clip
    mcLoader.loadClip(url, Image);
}


Voilà

Commentaire de scara 51 le 11/08/2006 14:13:23

J'ai fait une erreur. Soorrrrryy


var Image:MovieClip;
var Barre:MovieClip;

var mcLoader:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
mcLoader.addListener(listener);


Barre._visible = false;

function charger(url){
    // on affiche la barre de chargement
    Barre._visible = true;
    Barre._xscale = 0;
    // création dela fonction récurente de control de chargement
    // Donc ceci change !!!!
    listener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
        // calcul du pourcentage chargé
        var pc = bytesLoaded*100/bytesTotal;
        // ajustement de la taille de la barre de chargement
        Barre._xscale = pc;
    }
    listener.onLoadInit = function(target:MovieClip):Void {
         // on recache la barre de chargement
         Barre._visible = false;
    }    
    // ici on lance le chargement de l'image dans le clip
    mcLoader.loadClip(url, Image);
}

Commentaire de _benjy le 11/08/2006 15:00:20

bon déjà j'ai fait ce tuto en 2005, avec MX2004, et y'avait pas la class MovieClipLoader
ensuite, que crois tu qu'utilise MovieclipLoader ??? je te le donne en mille, un enterframe... ou un interval (ce qui prend autant voir plus de process)...
voilou pour les explications...
mais c bien d'avoir mis un exemple de MovieClipLoader pour les autres
@llé ++
Ben

Commentaire de scara 51 le 11/09/2006 14:47:32

En fait c un interval qu'utilise MovieClipLoader, sauf erreur de ma part. Donc moins gourmand que onEnterFrame.
Le rafraichissement n'est donc pas instantanné. Suivant les besoins...

Commentaire de C0ltaire le 15/10/2006 20:10:52

Bonjour le tuto est génial, mais j'aimerais changer juste une petite chose et je suis bloquer.
Voilà, j'aimerais remplacer le bouton par une action automatique.
En gros au lieu de devoir cliquer sur le bouton, le clip se charge lui même avec le chargement.
j'ai donc remplaver le bouton par un code directement sur l'image qui dit:

stop();
charger("monclip.swf");

Ca fonctionne en local, mais lorsque je met les fichiers en ligne ca ne fonctionne plus.
Comment faire??
Merci.

Commentaire de zouax le 22/10/2006 23:26:53

_benjy, un grand bravo pour ce tuto, très simplement expliqué, bien commenté, avec en plus des réponses aux questions qui améliorent l'original.
pour quelqu'un qui touche un tout petit peu à Flash, 10 minutes suffisent pour le faire fonctionner !
Ce sont des gents comme toi qui font progresser rapidement,
encore bravo et merci pour tous ceux que tu aides!

Commentaire de PEGAZE21 le 20/12/2006 02:19:56

attention au P majuscule de pourcentage et de B majuscule de barre pour nommer les occurences. Sinon on voit pas apparaitre l animation.

Etait il indispensable de mettre des majuscules? source d erreur. hormis ce détail tuto tres clair.

A quand des tutos videos tellement pratique, c'est l'avenir de la formation.

Commentaire de PEGAZE21 le 20/12/2006 02:40:55

ptite question : comment fait on pour que la barre de chargement aille de la gauche vers la droite.

Plus généralement quelles sont les codes à ajouter pour animer un cercle par exemple ou faire d'autres animations comme on le voit sur certains sites.

thank

Commentaire de _benjy le 20/12/2006 10:44:51

pour les majuscules, certe il faut y faire gaffe, mais c'est un convention que j'ai mi en place sur tt mes projets
les noms avec des majuscules sont pour les occurences graphique, et sans majuscule pour les objets de code
celà permet par exmple d'avoir un clip Produits et un tableau produits sur la mm scene.

pour que la barre aille dans l'autre sens, il suffit de mettre son point de gravité completement a droite vu que si mon souvenir est bon, dans mon tuto je fait progresser la barre par un _xscale.

pour les anims de cercle ou autre, tu peux simplement faire une anim sur 100 image et faire des cercle.gotoAndStop(pc) (ou pc et le pourcentage arrondi pour avoir 1,2,3 ...

++
_benjy

Commentaire de poiskail2000 le 24/01/2007 17:41:09

bonjour,

Tout d'abord je voulais te dire que ce tutorial et très clair et qu'il a permis au débutant que je suis de comprendre le loader...
Il me reste un seul souci et je ne sais pas comment le régler.. en fait, (et bcp me diront que c'est un comble) mon animation se charge trop vite, alors que je voulais mettre sur la page de loader des informations importantes comme une petite page d'accueil qui dit le nom du site et puis voila...Y a t il un moyen de ralentir le chargement ou de faire croire a un chargement pendant que le chargement se fait derriere?

Merci d'avance pour tous ces renseignement et déja merci pour ce tutorial...:)

Commentaire de _benjy le 25/01/2007 01:41:05

ben a part mettre un stop apres le chargement et affiché une autre anim, je vois pas...
quel idée aussi... LOL
++

Commentaire de cyberjimi le 14/05/2007 14:15:36

le système n'a pas voulu que je te mette 10 !!!
désolé ce n'est qu'un 9 ;-)

Commentaire de cedzz le 24/05/2007 14:07:16

Bonjour,
J'ai testé le swf d'exemple proposé au téléchargement sur ce tuto :
- Sous Firefox le preload se joue correctement
- Sous IE, ça n'a pas l'air de fonctionner, je m'explique : "téléchargement en cours" s'affiche au bas de la fenêtre IE, tout le swf est téléchargé et après il affiche le contenu "site", sans passer par le preload...
Je rencontre le même problème avec le tuto fourni dans le bouquin "Flash MX 2004, la référence".
Alors voilà, est-ce que quelqu'un peux m'expliquer dans des termes simples (je suis plutôt débutant) comment résoudre ce problème avec IE ?
Merci

Commentaire de _benjy le 25/05/2007 09:58:02

Salut
Celà m'étonné, et du coup je viens de vérifier (j'ai recup l'archive, et testé en ligne avec FireFox 2 & IE 6), et pas de prob pour ma part, le chargement se voit aussi bien avec IE qu'avec FireFox...
Et tu sur d'avoir l'ocx Flash 8 ou 9 installé sur IE ?
Sinon je vois pas ce que ca peut être comme problème...
Quelle est ta version IE ? utise tu un detecteur de version Flash ?
++
_benjy

Commentaire de cedzz le 25/05/2007 19:49:20

Salut Benjy,
Merci pour ta réponse.

J'ai fait le test :
- sous IE6, machine Win2000
- sous IE6, machine XP SP2
- sous IE7, machine XP SP2
Le preload n'a été lu sur aucune de ces machines... c'est-à-dire que j'ai juste le contenu "ici c'est votre site" qui s'affiche après 15 secondes de page blanche...

Mon player flash installé : version 9,0,16,0

Je ne suis pas sûr d'avoir l'ocx dont tu parles. Peux-tu stp me dire où je peux trouver sur mon disque ? où puis-je le récupérer si je ne l'ai pas ? tout cela ne devrait-il pas être installé par défaut avec le plugin flash ?

Au fond, par souci de visibiltié de mes documents, je voudrai surtout être sûr que toutes les personnes qui consultent mes swf avec ce type de chargement auront bien le preload et qu'ils ne zapperont pas avant d'arriver au contenu...

Encore merci pour ton aide !
Ced

Commentaire de _benjy le 25/05/2007 23:52:02

ben c'est spé ton affaire, vu que je suis aussi sous xp pro sp2, avec ie6 ... et franchement moi j'ai vu le préload
http://www.kolapsis.net/tutos/Chargement%5Fde%5Fsite/ et j'ai aussi player 9
donc je vois pas ...
sinon pour ton info, l'ocx c'est le plugin flash pour IE (ocx étant un nom générique pour certain type de "composants" window...
tu me passerais l'adresse de ton test que je look quand mm please
++

Commentaire de cedzz le 28/05/2007 09:50:54

Bonjour Benjy, je viens de comprendre...
Le problème venait d'un javascript que j'avais inséré dans la page qui joue mon flash.
Apparamment, le "flash.js" que j'utilisais pour éviter d'avoir à valider par un clic la zone de mon flash est allergique au preload... en tout cas c'est ce que j'en conclus, puisque tout est ok depuis que j'ai supprimé l'appel de ce script.
Re-encore merci !
Ced

Commentaire de kartoon le 02/07/2007 16:10:00

Bonjour,

Et comment fais tu pour faire un chargement avec un site structuré avec des levels?
Doit on à chaque fois que l'on clique sur un élément, charger le preload qui se trouvera sur un niveau supérieur, dans ce cas précis le preload reste t -il le même que dans l'exemple donné?

merci

Commentaire de kartoon le 03/07/2007 10:42:15

Je ne sais pas si mon problème est bien placé mais suite à ce tuto..
J’ai voulu le suivre. J’ai voulu le faire avec la nouvelle version de flash CS3 et je me retrouve confronter à un souci tout bête, à savoir, je n’arrive pas à mettre une action sur un bouton !
Je suis plutôt inquiète car ce n’est pas un souci que je rencontrais dans les versions antérieures !!
Mais pourquoi, lorsque je sélectionne le bouton et que je veux lui attribuer une action il me donne pas la main, et qu’il ne me le nomme pas dans le panneau action ? L'occurence est nommée

Du coup l’action n’est même pas sur le bouton mais sur « éléments : 1 » !Un simple code comme « on (release){…. » ne passe pas Que se passe-t-il !!!???


Commentaire de _benjy le 03/07/2007 10:58:50

Je te rassure tu n'es pas le premier a te faire avoir.
Avec Flash CS3, oublis les actions sur les boutons ou sur les clips... c'est fini, tout ce gere en code grace a des écouteurs d'evenement : ex avec un bouton d'occurence 'monbouton' sur la scene, dans les actions de l'image :

monbouton.addEventListener(MouseEvent.CLICK,onClick);
function onClick(e:MouseEvent){
    trace (e.target.name);
}

sinon pour ton autre probleme de précédent avec le preload par niveau, c'est normal que tu te galere mon tuto est pour la gestion de click en objet nommé, pas pour les chargements sur de niveaux (qui plus est le niveau c'est plutot déconseillé car chiant a gérer).
et ce tuto marchera jamais pour CS3 puisque que l'AS3 n'est pas compatible AS2 et que le tuto ben c'est de l'AS2.

++

Commentaire de kartoon le 03/07/2007 11:31:46

Merci pour ta réponse rapide
Mais j'ai exporté l'anime déposé et elle fonctionne très bien en CS3
Le code dans le panneau d'action séléctionné étant du "ActionScript 1.0 & 2.0" L'action est bien appliquée sur le bouton!
Je n'arrive pas du tout à appliquer d'action sur le bouton sélectionné  dans le panneau action il ne m'applique pas le code sur le bouton,mais sur le calque, ce n'est pas normale! Je n'y comprends rien!

Avant tu séléctionné le bouton puis f9 et le code était sur le bouton mais là rien! AU SECOURS

Commentaire de _benjy le 03/07/2007 11:56:20

Bien sur que tu peux exporter le fla que j'ai poster, tout simplement parce que FlashCS3 sait compilé de l'AS2, ca dépends du projet que tu ouvres.
Par defaut un nouveau document avec FlashCS3 fait de l'ActionScript3 > pas d'action sur bouton
Mais tu peux très bien faire un document AS2 > et là t'aura les actions sur les boutons, mais tu pourras pas profité des avancé d'AS3 puisque tu sera en AS2...

Commentaire de fabianaulivier le 08/08/2007 10:33:18

Salut Benjy merci pour le tuto, quand on connait rien à falsh (comme c'est mon cas) ca fait du bien d'avoir des explication pas à pas!
Voila je suis sur CS3 maintenant et j'ai un petit prob, je veux faire un site pour personnaliser des t-shirt, donc on place un model et on colle de dessin apres. j'ai fait des boutons pour les imprimés qui vont sur les t-shirts, bon bref... Le boutons font appel a des images externes donc j'utilise ce code sue l'image:

onEnterFrame = function(){
}
    Image.loadMovie(url);
}

et sur le bouton:

on(release){
    charger("image.jpg");
}

jusqu'e la pas de prob! le "hic" est que je voudrait pouvoir faire appel a des images avec de la transparence, comme tiff, mais quand je change mon image.jpg pour un image.tif ca marche plus!
est que quelqu'un sait comment on fait pour faire appel a des images en transparence ??

Merci pour l'aide c'est bête mais bon je bloque depuis hier sur ca! merci pour l'info

Fong

Commentaire de _benjy le 08/08/2007 11:38:54

Salut,
de nada pour le tuto ;)
sinon j'ai un mot magique pour toi : PNG
les tiff flash les gere pas ... en revanche t'as les .png et les .gif qui on de la transparence et que flash peut charger.
donc depuis photoshop (ou autre) exporte tes img en png (mieux que gif) et tu les charge avec le mm code AS2.
++

_benjy

Commentaire de fabianaulivier le 08/08/2007 12:53:55

Tu fais vite!! c'est genial!!
J'ai du mal m'exprimer, la je re-lit mon message et je vois que c'est pas la bonne question que j'ai pausé. Effectivement j’ai essayé avec des png et ca marche !!
moi le problème est que je veux appeler une première image et que quand j’appelle la deuxième la première reste affiché toujours.  Ex : bouton 1 appel l’image du tee-shit et bouton 2 place le dessin sur le tee-shit.
Donc il faut que je face rester la première une fois affichée, je connais pas le code ou la fonction pour faire ça, aucune idée de comment !!
Est ce que je suis clair ?? heheheh pas évident d’expliquer !
En tout cas merci pour tout info !

Muchas Gracias !!!

Fong

Commentaire de _benjy le 08/08/2007 13:12:11

ben le prob c'est que tu charge ton image dans ton occurence "Image" (de clip j'imagine)
tu peux pas charger une autre image dans le mm clip.
la solution créer un nouveau clip pour chaque autre images, du genre :
function charger(src){
var img:MovieClip = this.createEmptyMovieClip("img"+this.getNextHighestDepth(),this.getNextHighestDepth());
img._x = Image._x;
img._y = Image._y;
img.loadMovie(src);
}
++
_benjy

Commentaire de fabianaulivier le 08/08/2007 14:12:28

j'etait partie manger!!
j'ai bien fait un clip par image, et placé chaqua action aussi sur un calque different.
pour l'image 1 (clip Image)
j'ai ca :

var Image:MovieClip;
function charger(url){
onEnterFrame = function(){
}
    Image.loadMovie(url);
}

et le bouton qui la lance c'est:

on(release){
    charger("image.jpg");
}

pour l'autre image j'ai fait un nouveau clip Image2 qui est dans un nouveau calque
et  j'ai ca:

var Image2:MovieClip;
function charger(url){
onEnterFrame = function(){
}
    Image2.loadMovie(url);
}

et le bouton qui la lance:

on(release){
    charger("image2.png");
}

quand je lance le flash les boutons fonctionnent bien, je peux faire apparaitre les deux images, mais pas en meme temps, l'image1 s'affiche et quand je veux l'image2 pour la placer sur la première , l'image2 remplace la 1

c'est la que je sais pas quoi faire, je dois rajouter quelque chose dans mes codes??

merci encore pour ton aide, c'est pas toujours evident quand on essaye d'apprendre un peu au fur et a mesure!
merci benjy

Fong

Commentaire de _benjy le 08/08/2007 23:40:31

oki j'ai compris
tu as 2 fois la mm fonction "charger", mm si elles sont sur 2 calques, elles sont définis dans le mm clip (_root), tu as donc la 2eme définition de la fonction qui "ecrase" la première, du coup ca charge tjs l'image dans Image2 (ou Image1, ca dépends de l'ordre des calques).
donc change le nom des fonctions par charger1 et charger2
voilou
++
_benjy

Commentaire de fabianaulivier le 09/08/2007 09:07:13

Voila, on arrive la matin on allume le pc et on voit que la solution a tous nos problèmes est la!!
si c'est pas beau ca!!

C'etait tout bete mais vraiment quand on sait pas ca ne peut pas arriver tout seul; en tout cas ca marche bien maintenant, merci pour le coup de main, je te montrerait le resultat quand ca sera fini!
Merci Benjy

A plus

Fong

Commentaire de rorom1978 le 07/09/2007 16:36:31

Bonjour, très bon tuto, cependant je suis une vraie fiante de poule et j'aimerais utiliser ce code pour charger un .swf externe.

1 - J'ai remplacé "image.jpg" par "intro.swf"(qui est tres lourd) mais ca ne fonctionne pas.
Est-ce normal ?

2 - Est-ce que la fonction -onEnterFrame- fonctionne si on la place sous un -stop- dans le code ?
Exemple :
stop();
onEnterFrame = function() ...

désolé pour ces questions betes mais ca fait 3h que je bloque et que j'essaye tout mais aucune barre de chargement n'apparaît. Je m'énèrve dessus.
Merci pour vos réponses. Roro

Commentaire de _benjy le 07/09/2007 23:02:43

salut
oui ca marche a aussi pour un swf, et le stop(); ne gene pas du tout, tu peux en effet définir onEnterFrame apres le stop., onEnterFrame est une fonction recurente, executer autant de fois par seconde que la cadance de ton swf (par defaut 12images/sec, donc 12 fois/sec), et elle est executer que le scenario soit en cours de lecture ou non
si ca ne marche pour charger ton swf, c'est que t'as une cacaouette qui traine par là, mais mon code marche pour les swf (je m'en sert assez souvent pour l'affirmer).
Attention, si tu travail avec FlashCS3, et que tu as fait un document AS3, ce code ne marchera pas, faut faire un document AS2.

_benjy

Commentaire de djrobz le 17/10/2007 17:44:41

Super comme code et explications.

Commentaire de 67kiki le 23/10/2007 15:06:09

Super le tuto, je l'ai suivi à la lettre mais j'ai un sérieux problème : le preloader met un temps fou à s'afficher (quand il arrive à 85%)et puis j'ai mon site qui est la séquence suivante. Or j'ai mis un décor que j'aimerais voir au lieu d'un écran blanc (en simulation visuelle de connexion à 56k). Quelqu'un peut il m'aider à résoudre ce problème ?
NB : j'ai fait plusieurs tutos de preload différent et j'ai le même problème

Commentaire de hsiachi le 03/11/2007 05:46:44

Merci :)

Commentaire de languette le 06/11/2007 17:33:42

Salut,

je suis sur Flash MX Pro 2004 et quand je copie à la lettre les oppérations, voila ce que me dit Flash :

**Erreur** Séquence = Chargement, calque = Actions, image = 1 :Ligne 8 : Erreur de syntaxe.
         // calcul du pourcentage chargé

**Erreur** Séquence = Chargement, calque = Actions, image = 1 :Ligne 9 : Erreur de syntaxe.
         var pc = _root.getBytesLoaded()*100/_root.getBytesTotal();

**Erreur** Séquence = Chargement, calque = Actions, image = 1 :Ligne 10 : Erreur de syntaxe.
         // on redimentionne la barre de progression du chargement.

Total des erreurs ActionScript : 3 Erreurs signalées : 3

Alors, comme je ne suis pas programmeur, mais designer, je ne comprend pas d'où viens le problème... j'ai cherché pourtant...

merci...

Commentaire de _benjy le 06/11/2007 18:08:22

si ta ligne 8 c'est bien "// calcul du ...", alors le debugeur déconne, il doit y avoir une erreur autre part... car c'est bizar qu'un commentaire ("//...") provoque une erreur !
creer un post dans le forum avec un copier collé de tt ton code actionscript (dans le forum pour pas polluler le tuto) et post moi en message privé l'url de ton poste, je regarderai d'ou vient le prob
++

Commentaire de jphilippev le 20/11/2007 13:21:06

salut benjy super le tut juste qu'en j'en cherchait un je tombe dessus...
hé languette ta pas oublié des points virgule ou autre?? fais un copier collé du script au dessus

Commentaire de neoprod33 le 09/01/2008 22:35:44

Bonjour Benjy,
j'ai suivi ton tuto à la lette en espérant qu'il réglerait mon
probléme mais ça ne fonctionne toujours pas voila j'explique.
Je simule le telechargement de mon site et je ne vois rien jusqu'à
avoir charger 70% du site aprés tout fonctionne trés bien. J'ai beau
utiliser différent preload même probléme. Je suis débutant, je suis sur que
j'ai fais une erreure mais je n'arrive pas à la trouver.
Peux tu ou pouvez vous m'aidez.
Merci d'avance.

Commentaire de _benjy le 10/01/2008 10:59:34

Salut NeoProd33,
Je pense savoir quel est ton prob... en gros ton site (le SWF) doit peser juste quelque kilos octets... av d'afficher quoi que ce soit, Flash (enfin le player flash) doit charger un minimum (je sais pas combien exactement).
Si tu importe plusieurs grosse image (vraiment de la grosse résolution) dans la scene de principal de ton site (pas dans le loader, et tu le supprimera après) et re-test ton loader, tu verras que le loader commencera plus tôt que 70%
Vu qu'il y aura bcp plus de données a charger, le moment ou Flash pourra affiché quelque chose arrivera bcp plus tôt que lors que ton anim pesse 20ko.
Je sais c'est pas très clair, mais je vois pas trop comment l'expliquer.

Commentaire de neoprod33 le 12/01/2008 14:52:52

Merci Benjy,
mais mon site fais 5mo donc je ne pense pas que ça soit ca.
Dans ma structure j'ai bien deux séquence une de chargement avec ton code
et une autre avec mon site qui fait 5mo.
Le problème reste entier..

Commentaire de _benjy le 14/01/2008 09:54:49

hummm en effet c'est bizar, surtout avec 5mo... il est en ligne ton site ? histoire de voir ...<
poste ton code de chargement please
++

Commentaire de neoprod33 le 17/01/2008 00:41:18

Mon site c'est par la www.francelaser.fr

et mon code de chargement c'est :

var Barre:MovieClip;
var Pourcentage:TextField;

Pourcentage.html = true;

function onEnterFrame(){
    // calcul du pourcentage chargé
    var pc = _root.getBytesLoaded()*100/_root.getBytesTotal();
    // on redimentionne la barre de progression du chargement.
    Barre._xscale = pc;
    // on met a jour le champ text
    Pourcentage.htmlText = "Chargement : <b>"+Math.round(pc)+"%</b> effectué";
    // on vérifie si le chargement est complet
    if (pc >= 100){
        // si oui
        // on supprime la fonction onEnterFrame qui ne sert plus.
        delete onEnterFrame;
        // on va à la scéquence suivante, le site.
        play();
    }
}

stop();

dans la séquence chargement en premier dans les séquences
sur l'image 1 (d'ailleur la seul)
sur le premier calque (chargement) et le deuxieme c'est Element.

Je pense avoir fait les choses correctements.
S'il vous plait j'implore le dieu du flash d'apporter une solution
Amen..

Commentaire de _benjy le 17/01/2008 10:33:05

Non alors là je capte pas...
Le code est nikel, et je sais qu'il n'y a pas d'erreur de nom d'occurence (prob récurent) vu que sur ton site on voit le loader...
Envoi moi ta source sur kolapsis@gmail.com que je vois le FLA parce que là ca m'intrigue ton truc...
++

_benjy

Commentaire de moms87 le 21/01/2008 10:50:05

Je suis débutant et je comprends pas lorsque tu commence par " vous avez votre site en flash"  ce tuto ne marche que si le site ets en flash? ou on peut intégrer les pages html dans la scène? si oui comment...

Merci beaucou^p

Commentaire de _benjy le 21/01/2008 12:39:49

nan pas de page HTML dans du Flash, tu peux au mieux charger du contenu HTML (texte enrichi) et l'afficher dans un champ texte mais pas une vrai page HTML (flash ne comprend pas les TAbleau par exemple)...
donc oui le tuto est pour les site en flash !
++

Commentaire de _Azim_ le 24/01/2008 02:57:08

Merci c'est vraiment très clair !!

Commentaire de ninize le 24/01/2008 15:16:52

cc  dsl mais jarrive pas peux-tu m'aider?
j'ai crée une anim swf dans laqu'elle j'ai un bouton qui ouvre une autre anim sxf importée mais
m'a 2ème anim s'ouvre pas ou il faut . Elle se met au mauvais endroit (en haut à gauche).Comment puis je la cadrer autre part et qu'elle ne bouge plus?
et peux_tu me dire si ya un script à faire et ou le mettre.
c urgent stp.
Merci d'avance.

Commentaire de _benjy le 24/01/2008 15:38:23

salut,
ben l'image se charge là ou tu place ton clip vide de nom d'occurence "Image"... là franchement y'a pas de secret...
++
Ben

Commentaire de tounch le 28/01/2008 10:40:18

salut BenjY super tuto mais j'ai exactement le même problème que NéoProd !!!
As tu résolu son problème, car moi aussi j'ai une page blanche qui s'affiche et le preload s'affiche que vers les 80%, j'ai augmenté expressement la taille du swf.
Merci et a+

Commentaire de _benjy le 28/01/2008 11:05:09

nan j'ai pas trouvé le pourquoi du comment... désolé

Commentaire de tounch le 28/01/2008 12:19:08

aie, tant pis merci quand même

Commentaire de faile71 le 16/02/2008 18:24:57

Salut. Je suis vraiment tres mauvaise en code, c'est plutot  le graphique qui m'interesse, mais voila, on peut pas faire sans un minimum de code.
Je suis en train de faire un site, et le principe, c'est que a chaque menu correspond un .swf, et je voudrais que lorsque l'internaut visite un menu, les autres .swf se chargent en fond, pour reduire le temps d'attente quand on clique sur le menu suivant....et je trouve pas comment faire.
Voila, si quelqu'un peut m'aider....merci
Delph

Commentaire de tomasi514 le 24/03/2008 20:08:32

salut Benjy,
merci pour ton aide précieuse. ton code est parfait pour le préchargement de mes animations mais je n'arrive pas à trouver le bon code actionscript pour précharger mes images situées sur la séquence principale : Site. j'y ai créé des movie clip qui contiennent des images, what's the best selon toi ?
Peux-tu me donner un coup de pouce ?
Merci !
:-)

Commentaire de mangue99 le 24/03/2008 22:34:33

Bravo et merci excelent tuto !

Commentaire de Guillaumederay le 07/04/2008 16:37:16

Merci beaucoup pour ces explications, et pour toutes les réponses que tu apportes,

Tant que j'y suis, j'ai un problème sur ma voiture, y a un bruit bizarre quand je passe en troisième, si tu peux m'aider pour ça aussi ce serait vraiment gentil.

Plus sérieusement, ça fait plaisir de voir un tutorial bien construit,je te remercie pour ton soucis de mettre tes propos à la portée de tout le monde, ça m'a permis non seulement de faire fonctionner mon site, mais en plus de comprendre à chaque étape ce que je faisais, au lieu de recopier le code bêtement. Ca fait plaisir aussi de voir que tu prend le temps de répondre à tout le monde. J'ai l'impression d'avoir plus progressé en une demi heure qu'à galérer tout seul pendant des heures.

Chapeau et bonne continuation.

Commentaire de _benjy le 07/04/2008 17:00:59

Ben merci pour ce commentaire très sympa M'sieur GuillaumeDeRay ...
Pour ta voiture malheureusement je vais avoir du mal car autant j'comprends du code imbitable, mais alors la mécanique LOL... qu'est ce que j'aime pas ca ...
Mais ouaip me parrait normal de diffuser le savoir faire si l'on veut qu'internet (enfin les sites) evolue ...
Y'en a marre des site HTML de merde, vive Flash ! que la révolution soit en route LOL !
Allé cimer encore pour le commentaire ca m'encourage a continuer (bien que j'ai plus trop le temps)...
++ @ tous

Benjy
PS : new site de new boite : http://www.rainette-studio.com/ (Rainette Studio)

Commentaire de eloualimarwan le 22/04/2008 13:35:33

Merci Bcp, vraiment c trés claire.

Commentaire de healdegarde le 03/06/2008 13:11:05

Salut

J'ai une petite question pour le chargement d'image, c'est possible de faire retarder le chargement pour qu'il commence a partir de 40 frame par exemple le temps qu'une animation ce déroule avant que l'image arrive ?

Si le code pouvait se placer sur le bouton sa m'arrangerai pour qu'au clic je lance l'anime de limage et juste après limage commence son chargement. Merci d'avance :)

Commentaire de _benjy le 03/06/2008 13:37:18

Salut
tu peux tous simplement appeler la fonction de chargement a la fin de ton animation
ex : sur la derniere image de l'animation : _parent.charger('#ton url#');
tu peux aussi la faire avec un retardateur regarde setInterval() dans l'aide de Flash
++
Benjy

Commentaire de johnfromtheattic le 03/06/2008 21:32:48

Salut,
tant que j'ai un fichier mp3 dans ma bibliothèque (j'ai un lecteur MP3 dans mon anim) aucun loading ne marche, mes connaissances en programmation sont très limitées, si qqlqn pouvait m'expliquer ce qu'il faut faire pour avoir un loading ET un fichier MP3 ce serait sympa.
Merci.

Commentaire de healdegarde le 05/06/2008 13:45:57

Re benjy

Merci de ton aide j'ai réussi a comprendre un peu donc je suis arriver a sa ^^

on (release) {
   retard = setInterval(chargement, 5000);
}  
function chargement() {
charger("image.jpg");
clearInterval(retard);
}

Mais sa ne marche pas je n'ai pas super bien compris car la j'ai le release suivi du retard en suite une foi le retard passé la fonction charger l'image commence après 5 seconde et je clear l'interval pour éviter les problèmes

J'ai du mal coder tous sa si tu pouvais me mettre sur le bon chemin svp :)

Commentaire de _benjy le 05/06/2008 14:39:19

ton probleme viens du fait que tu tente de definir un fonction sur l'action du bouton
fait plutot :
sur les action de l'image (pas du bouton)
function charger(url){
   //... code du tuto
}
function retarder(){
    retard = setInterval(chargement, 5000);
}
function chargement() {
    charger("image.jpg");
    clearInterval(retard);
}
et sur le bouton qui est dans le mm scenario que les action ci dessus :
on(release){ retarder(); }

++

Commentaire de Guewen2 le 10/06/2008 18:54:26

Bonjour,
merci pour le tuto, cela ma beaucoup aidé, mais je voudrais savoir s'il était possible de faire un preloader flash pour un page web en html.
Merci.

Commentaire de _benjy le 10/06/2008 21:03:44

ca doit etre possible, mais sans interet je pense vu que le temps de charger flash ta page le sera déjà ...
++

Commentaire de Guewen2 le 15/06/2008 15:31:08

Re-bonjours,
voila, il se trouve que mon site est assez lourd donc un preloader me serait utile. J'ai déjà vu quelqu'un en faire un, avec d'abord une 1ere page avec le preloader qui charge puis envoie sur la véritable page.
Je voudrais savoir comment on fait!
Merci.

Commentaire de Guewen2 le 15/06/2008 15:58:41

Je me suis renseigner, et je pense que se doit être possible grace à la fonction LoadVars.
Mais ça reste à aprofondir donc si vous pouviez m'aider se serait avec plaisir.

Commentaire de yod21 le 28/06/2008 00:03:09

Bonjours a tous

merci _benjy, pour ce post,

je suis parvenu a faire fonctionner le [b]chargement de fichier externe[/b]
je charge un fichier ".swf" qui comporte simplement une musique avec boutons /play/pause/stop ( comme indiqué dans ce tuto  >> http://www.flashkod.com/tutoriaux/CREATION-CONTROLEUR-SON-BASIQUE_711.aspx)

si j actionne la lecture auto cela fonctionne et je peux arrêter la musique, donc les bouton s activent bien !

pourtant si la musique ne se lance pas automatiquement au chargement,
donc s il faut appuyer sur le bouton play cela ne fonctionnent pas peut être que ça se lance, mais pas de son ...

merci par avance

ps:le ".swf" charger marche bien indépendement :)



Commentaire de _benjy le 28/06/2008 14:05:28

salut
t'as sans doute dans ton le code de ton swf chargé des chemin de variables faussés ... sans doute des appel à la racine qui ne sont plus valable puis que tu charge ce fichier dans un autre ; je m'explique si dans ton controleur musical, tu as des actions du genre _root.quelquechose.action() ... ca marche en effet quand tu compiles ton swf ... mais lorsque tu charges ce swf dans un autre (en AS2 en AS3 c'est plus vrai), la racine change, et c'est maintenant la racine du fichier dans lequel tu as chargé le swf musical...
Donc change tous tes chemins globaux (les appels à _root.quelquechose) en chemins relatif (_parent.(_parent).quelquechose)...
et si c'est pas ca, faudrais que tu poste tes sources...
++
_benjy

Commentaire de yod21 le 29/06/2008 19:05:15

je pense voir ce que tu veux dire , pour les appels et autres, je ne suis pas trop callé niveau "actions".

je vais tenter avec _parent, effectivement s il y a conflit par rapport au chemin :)

ca laisserai penser en gros , qu il est possible que le son se lance a travers le fichier .swf de chargement de base, ce qui fait qu on ne l entend pas?

Commentaire de _benjy le 29/06/2008 20:48:31

c'est ca ... le chargement peux marcher mais pas les fonctions que tu as défini pour le controler
++

Commentaire de dorilys666 le 30/09/2008 15:10:16

Je répète ce que tout le monde dit : super le tuto! j'y connais rien en codes flash et là ça a marché ! (c'était au moins le 10e tuto que j'essayais...)je vais abuser en te posant cette qestion : à quoi ressemblerait le code si on décide qu'à la place de la barre de chargement, on a une animation sur 100 frames?
Stp...

Commentaire de cyberjimi le 30/09/2008 15:40:02

SLT, si ton anim de chargement est dans un mc nommé "anim_mc"
tu remplaces la ligne :

Barre._xscale = pc;

par :

pc=Math.round(pc);
anim_mc.gotoAndStop(pc);

le problème est que ça risque de sauter pas mal d'images si le swf à charger est léger.

Commentaire de _benjy le 30/09/2008 17:02:06

Salut
ben voilà y'a déjà la réponse :)
coool si j'ai mm plus a faire le suivi :)
et dorily, byberjimi a raison, j'éviterais a ta place d'utiliser une animation pour sur 100 images, car il a entièrement raison, cela risque de ne pas être top pour de petite anim ou grosse pour les personnes ayant un gros tuyau
++

Commentaire de ubux le 26/06/2009 18:17:27

Bravo Benjy pour ton code.
Ca fait une semaine que je tripatouille un préloader qui ne plante pas après le chargement de ma 1ère séquence. Alors quand j'ai essayé le tien, c'est le bonheur.
Merci

Commentaire de fisoon le 06/07/2009 16:51:31

Bonjour !
Excusez-moi de mon ignorance mais un preloader flash peu-il s'appliquer à un site conçu dans dreamweaver qui contient lui même des animations flash ?
Merci d'avance

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,109 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales