Pitié tout me semble correct mais çà ne marche pas !

ajey Messages postés 16 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 20 avril 2006 - 16 juin 2005 à 00:04
ajey Messages postés 16 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 20 avril 2006 - 16 juin 2005 à 20:41
Bonjour à tous voilà mon problème: j'ai du lire à peu près 10 fois tous les posts parlant de preloader mais je ne trouve pas de solution à mon problème
J'ai 2 séquence : preload et scene voici mon code sur preload:

_root.onEnterFrame = function() {
//calcul du pourcentage
Total =_root.getBytesTotal();
Lu = _root.getBytesLoaded();
progress = Math.round((Lu)/(Total)*100);
_root.pourcentage.text = Math.round(progress)+" %";


//on fini à 100% et on li le rest de l'anim
if (progress==100) {
delete this.onEnterFrame;
gotoAndPlay("scene",1);
stop();
}
_root.loading.gotoAndPlay(progress);
}


Le problème c'est que mon clip loading ne se LIT PAS et mon pourcentage s'arrete vers 84% et joue ma séquence "scene"

Qu'est ce qui cloche svp ?

10 réponses

crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
16 juin 2005 à 08:39
Je pense que ton soucis est tout simplement que tu utilises les fonctions de liaison de la bibliothèque pour pouvoir utiliser tes clips avec attachMovie. Le problème de cette fonctionnalité est que...... Il faut cliquer "exporter dans la 1ère image". Dès lors en fait il va charger tout ce qui est "dans la premiere image" AVANT de lire le code de celle-ci, c'est pour ca que tu arrives a voir la fin de ton animation se charger.

Là où le bas blaisse, c'est que si tu décoches cette option, les clips liés ne sont plus utilisables... et oui ils ont oubliés une option "exporter dans la 2e image" ca aurait été plus sympa.

Pour régler ce soucis, quand on a une anim qui est assez conséquente, il suffit de créer (tu peux faire comme tu l'entends, ce n'est peut etre pas la meilleure manière mais c'est la mienne) une séquence "chargement" sur laquelle tu vas mettre tous les clips/sons/etc. de ta bibliothèque, et bien sûr tu ne lancera jamais cette séquence dans ton anim qui ferait un peu brouillon :).

Je n'ai pas trouvé d'autres manière de résoudre ce "gros" soucis.

Sinon, tu peux aussi faire un chargement de swf depuis un MovieClipLoader (mais je crois que cette solution pose aussi quelques contraintes car le fichier chargé est contenu dans un clip et que... je ne me rappelle plus les problèmes que j'avais rencontré ).

Ma première solution marche très bien si tu veux rester dans un SWF indépendant.

Voilà à toi de tout dupliquer now
0
cs_michto Messages postés 79 Date d'inscription dimanche 26 octobre 2003 Statut Membre Dernière intervention 11 août 2005
16 juin 2005 à 10:01
'lut.

Hum...je me demande comment ça ne passe pas DIRECTEMENT à ta deuxiéme
scéne (tu a mis un stop() à l'exterieur de ton onEnterFrame?? ou t'a
deux images et tu fait un goto(1)??)...



Sinon (mais ça va pas forcement regler ton pb, si c'est comme crackter la dit) :



- le deuxiéme Math.round est inutil (tu la déjà fait au dessus)...et
utilise plutôt dans ce cas un Math.floor (sinon peut dire que OK sur
99.75 % de chargé!!)

- On detruit jamais la fonction dans laquelle on se trouve avant
d'avoir effectué toutes les opérations souhaités (ton goto et ton stop
ne sont jamais éffectué...Donc tu n'a pas mis de stop() à
l'exterieur...Hum, mais comment cela peut-il marcher??).

- Pour la barre de preload un gotoAndStop(progress)... sur un clip ayant 100 image bien sur.

Sinon, beaucoup de gens utilisent la technique des deux images:

- un claque contenant ton clip loading (présent sur les deux images).

- un calque vide sur la premiére image et sur la seconde :



...calcul de progress (que tu fais trés bien...) + champ texte + barre.goto+...

if (progress<100){

gotoAndPlay(1);

}



Ciao.
0
cs_michto Messages postés 79 Date d'inscription dimanche 26 octobre 2003 Statut Membre Dernière intervention 11 août 2005
16 juin 2005 à 10:22
... en fait je me pose la question au sujet du delete... vu que
certaines instructions sont effectués juste avant le rafraichissement ,
aprés avoir lu tout le code de la frame... Peut-être es ce le cas pour
delete et que ton goto est pris en compte?



Aprés, c'est au moins une question de logique. Je me suicide pas avant
d'avoir ecrit ma lettre d'adieu (ouf! c'est glauque comme
métaphore...). Et pour moi, c'est plus claire dans le code.



A+
0
ajey Messages postés 16 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 20 avril 2006
16 juin 2005 à 13:48
Merci pour votre aide mais je n'y arrive toujours pas...En fait je vais détailler:
J'ai un seul .swf dans lequel j'ai 2 séquences:
-scene : mon animation qui marche très bien
-preload: sur laquelle j'ai 2 calques
-un calque de texte dynamique
-uin calque action avec ceci:

_root.onEnterFrame = function() {

//calcul du pourcentage
Total =_root.getBytesTotal();
Lu = _root.getBytesLoaded();
progress = Math.round((Lu)/(Total)*100);
_root.loading.gotoAndStop(progress);
_root.pourcentage.text = Math.floor(progress)+" %";

//on fini à 100% et on li le rest de l'anim
if (progress==100) {
delete this.onEnterFrame;
gotoAndPlay("scene",1);
stop();
}
}
stop();


Mon clip loading ne se lance pas alors que mon pourcentage marche très bien...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_michto Messages postés 79 Date d'inscription dimanche 26 octobre 2003 Statut Membre Dernière intervention 11 août 2005
16 juin 2005 à 17:13
k

Donc on a bien un stop()... (à la fin de ton code)

Dans tes détails, tu parle pas de ton clip "loading". Il est ou? Est-il
bien nommé? c'est un clip que tu a fabriqué ou un composant?

Si tu crée toi même un mc de 100 images (pour être original, une anim
d'une barre qui grandie par exemple...), et que tu nomme l'instance que
tu glisse sur ta scéne "loading", y a pas de raison que ça marche pas.



Sinon, concernant le calcul de progress :

progress = Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100);

et aprés tu n'utilise plus que "progress" (sans Math.xxx...).

(et vire tes variables Lu et Total, que tu n'a d'ailleurs pas déclaré
en var... ce qu'est pas bien...;) Elles existent en dehors de la
fonction, et donc ne sont pas detruites en fin de chargement...)

Et je continue à dire que le contenu de ton "if" est redondant...le
gotoAndPlay devrait être suffisant (pas de stop(), pas de delete).
0
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
16 juin 2005 à 18:01
j'ai écrit un roman pour rien...
0
cs_michto Messages postés 79 Date d'inscription dimanche 26 octobre 2003 Statut Membre Dernière intervention 11 août 2005
16 juin 2005 à 18:24
lol,

Ben non, moi ça ma intéressé l'astuce de la scéne "chargement" avec tout les élements... :)
0
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
16 juin 2005 à 18:42
lol merci =)
0
ajey Messages postés 16 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 20 avril 2006
16 juin 2005 à 20:20
Tout d'abord merci à tous les deux pour vos réponses...
Mais non Crackter tu n'as pas écrit uin roman pour rien mais je suis un acharné et qd çà marche pas (alors que çà devrait?) çà me rend fou !
Merci michto pour tes "corrections" par contre si je vire le delete de mon if , la séquence scene ne démarre plus...


"loading" est un clip de 100 images que j'ai fabriqué...
Et quand je le glisse sur ma scene bien sur que je le vois mais il ne se lit pas en utilisant la variable progress...

C'est grave docteur ?
0
ajey Messages postés 16 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 20 avril 2006
16 juin 2005 à 20:41
Ca marche !!
En fait il suffisait de glisser le clip sur ma séquence preload et surtout de ne pas oublier de nommer cette occurence loading !!!!!!!
Je suis bidon mais je progress en tout cas merci à tous les deux vous pourrai voir mon anim sur www.tan2n.com prochainement
Thanxxx !
0
Rejoignez-nous