Préchargement qui ne fonctionne pas

Résolu
zoubidon Messages postés 12 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 11 septembre 2005 - 18 juil. 2004 à 19:51
zoubidon Messages postés 12 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 11 septembre 2005 - 19 juil. 2004 à 00:04
Bonjour tout le monde!
Alors voilà... Ca fait environ 2 jours que je cherche à faire un préchargement simple (type barre de progression).

J'ai une page hmtl dans laquelle se trouve un swf 1 ... Ce swf 1 fait appelle à un autre swf 2 (loadMovie dans un Empty clip), et c'est là que j'aimerais mettre la barre de progression, car mon swf 2 met pas mal de temps à se charger ...
Je crois que j'ai essayé à peu près toutes les sources(merci de pouvoir en trouver autant !), mais aucune ne fonctionne. J'ai rencontré plusieurs problèmes:
_La barre de progression est visible 5457457484 heures après avoir appelé mon swf 2, (donc si je n'en mettais pas, ca reviendrait au meme)
_la barre de progression arrive assez vite mais s'arrete à la 1ere image (genre au 1%) et l'on ne voit pas la progression, ni meme le contenu du swf 2...
_je ne vois rien du tout! lol
_La barre ne se voit pas du tout et le swf 2 arrive comme si je n'avais pas mis de preload.

Donc voilà, j'aurai voulu savoir: que faire ?? lol

Faut-il écrire un code spécial dans la page html qui contient le swf 1 ?
Faut-il écrire un code dans le swf 1 directement ?
Bref ... Je me demande si mon cas est grave docteurs...
J'espère que j'ai été assez claire et que vous pourrez m'aider.
Merci beaucoup !
Zou.

6 réponses

beniguane Messages postés 42 Date d'inscription dimanche 29 février 2004 Statut Membre Dernière intervention 12 janvier 2009
18 juil. 2004 à 21:31
Salut,
Pour répondre à ta question :
Non il n'y a pas besoin de mettre de code spécial dans ta page HTML.

Je vais te montrer comment j'utilise mon preload :

Disons que ton clip principal s'appelle : clipPrincipal
ton clip vide qui recoit ton swf n°2 : s'appelle : clipVide
et le swf n°2 s'appelle : swf2.swf

// -------------------------------------------------- DEBUT

//Dans le cas où tu charges ton clip par l'action sur un bouton
monBouton.onRelease = function(){

// je rend invisible le clipVide pour faire
// un effet de transition
clipVide._alpha = 0;

// on charge le clip
clipVide.loadMovie("swf2.swf");

// on commence les calculs
this.onEnterFrame=function(){

// on définit les variables
var charge = _root.getBytesLoaded();
var total = _root.getBytesTotal();
var rapport = Math.round((Charge/Total)*100);

// on fait progresser le clip "barreDeProgression"
// par rapport à la valeur de la variable "rapport"
barreDeProgression.gotoAndPlay(rapport);
// si tout est chargé ...
if (rapport == 100) {

// on diminue la transparence du clip
// pour faire le apparaitre doucement
clipVide._alpha += 4;

// si le clip est totalement visible
if (clipVide._alpha >= 100) {

// on détruit le "enterframe"
delete this.onEnterFrame;
}
}
}
}

// -------------------------------------------------- FIN

Bon, je pense que ça pourra t'aider ...
3
zoubidon Messages postés 12 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 11 septembre 2005
19 juil. 2004 à 00:04
C'est bon !! J'ai trouvé !
Mon clip vide dans le swf1 s'appelle mccible.
Le code appliqué sur le bouton qui va appeler le swf 2 est le suivant :
on (release){
loadMovie("swf2.swf",_root.mccible);
}

Sur mon swf2 j'ai mis ce code :

// on définit les variables donnant le nombre total de Bytes , 
// de Bytes chargées et le rapport entre les deux , de l'animation
_parent.bytes_totales = _parent.getBytesTotal();
_parent.bytes_chargées = _parent.getBytesLoaded();
// taux de chargement
_parent.bytes_rapport = Math.round((_parent.bytes_chargées)/(_parent.bytes_totales)*100);
// Affichage du pourcentage de Bytes chargés
_parent.bytes_chargement_affichage = Math.round(_parent.bytes_rapport) add " %";
if (_parent.bytes_rapport == 100) {
_parent.play();
stop();
}

_parent.barre_chargement_bytes.gotoAndPlay (_parent.bytes_rapport);


Et le tour est joué !
Merci pour votre aide !
A bientot :)
Zou
3
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
18 juil. 2004 à 21:12
Salut,
ton probleme doit venir de ce que tu regardes avec getBytesLoaded.
_root.getBytesLoaded va te servir à regarder le chargement de ton swf 1 (principal). Mais si tu veux regarder uniquement la progression du chargement du swf 2, tu dois faire quelquechose comme _root.monclipcréé.getBytesLoaded. Bref ce n'est pas grand chose à changer, et les sources données se font souvent pour le swf principal...

@+ Tom
0
beniguane Messages postés 42 Date d'inscription dimanche 29 février 2004 Statut Membre Dernière intervention 12 janvier 2009
18 juil. 2004 à 21:33
Vache !
Je suis resté aussi longtemps à tapper cà ?!!!
Sorry pour le multi post ;-)
0

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

Posez votre question
zoubidon Messages postés 12 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 11 septembre 2005
18 juil. 2004 à 21:47
Merci pour vos réponses !! Je vais vite essayer ca ...
:D
Zou
0
zoubidon Messages postés 12 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 11 septembre 2005
18 juil. 2004 à 22:34
Gniarf ... Je comprends pas tout ...
Tom > Merci de ta réponse...
Y'a tout plein de trucs partout où je pourrais caser "monclipcrée"... Ceci est le code d'une des sources par exemple, que j'ai appliqué sur mon swf 2 :

// on définit les variables donnant le nombre total de Bytes et
// le nombre de Bytes chargées et le rapport entre les deux.
// Level0 est employé pour éviter un éventuel conflit de niveau
_root.bytes_totales = _level0.getBytesTotal();
_root.bytes_chargées = _level0.getBytesLoaded();
_root.bytes_rapport = Math.round((_root.bytes_chargées)/(_root.bytes_totales)*100);

// Affichage du pourcentage de Bytes chargés
_root.bytes_chargement_affichage = Math.round(_root.bytes_rapport) add " %";

if (_root.bytes_rapport == 100) {
_root.play();
// arrivé à 100%, votre anim est jouée
stop();
// on arrête le bouclage de ce clip.
}

_root.barre_chargement_bytes.gotoAndPlay (_root.bytes_rapport);

Je case où "monclipcrée" ? Est-ce qu'il faut mettre ce code sur le swf1 ? :/ AU SECOUUUUUUUUURS !

Béniguane > Merci pour ta réponse égalment...

Il faut que je mette mon code où ? Sur un calque de mon swf 1 ? (En donnant le bon nom d'occurence à monBouton)
Si oui ... :( Ca ne fonctionne pas :(

Merci de m'aider, c'est tres zentil à vous d'oser vous occuper d'une incapable ... lol :D
A bientot
Zou
0
Rejoignez-nous