|
Konrad
8

| Posté : 06-09-2008 11:47
Bonjour à tous,
Une petite question toute conne mais qui m'embête assez:
J'ai créé une animation de preload sur la première séquence d'un swf. La deuxième séquence contient le site, qui contient les drops pour charger les autres swf.
De ce fait, j'ai ainsi mis un preload sur chaque autre swf qui sera chargé.
Mon problème est, qu'au lancement du site online, on voit très bien l'animation de preload (pour le premier swf) mais que pour tous les autres swf qui seront chargés dans le premier (vous me suivez?^^) on aperçoit l'anim finie 1/2 sec.
donc est-ce que c'est normal? Est-ce que les swf chargés ne sont pas assez lourds pour faire apparaitre l'anim? Ou bien est-ce le chemin d'accès qui est erroné, sachant que les swf chargés le sont dans une suite de mc?
Je suis pas très clair donc petit schéma:
SWF MERE >>>> contient drop pour charger SWF FILLES
Mon code, sur la séquence 1, pour le prreload est le suivant et il marche très bien sur le SWF MERE:
var Barre2:MovieClip;
var Pourcentage2:TextField;
Pourcentage2.html = true;
function onEnterFrame(){
var pc = _root.getBytesLoaded()*100/_root.getBytesTotal();
Barre2._yscale = pc;
Pourcentage2.htmlText = ""+Math.round(pc)+" %";
if (pc >= 100){
delete onEnterFrame;
play();
}
}
stop();
Merci d'avance pour vos réponses et désolé si la question a deja été posé. |   Profil
|
| Sorbyal
671

| Posté : 06-09-2008 15:35
mais tes swf filles apparaissent tout de même ? ils sont bien chargés ? Quel est leur poids environ ?
|   Profil www
|
| willyboy1
70

| Posté : 07-09-2008 10:47
Salut,
Essaye de simuler le téléchargement en bas débit pour voir.
Les swf fille sont pas lourd c'est pour ça je pense.
webdesigner | webmaster | Annecy | Genève | Rumilly | Aix les bains.
www.gautier-sylvain.com |   Profil www
|
| Konrad
8

| Posté : 07-09-2008 11:40
Salut,
hélas non, le poids n'y est pour rien. J'ai test avec un faible débit ou en gonflant le poids des swf chargés, le pb reste le même.
En fait, je crois qu'il s'agit d'un conflit entre les codes des différents preload. J'ai donc testé en utilisant _lockroot et là ça marche, mais à moitié.
J'explique:
J'ai un swf mere qui contient plusieurs boutons. Chaque bouton donne une variable différente. Au clic, on charge dans un mc drop un swf de "transition" qui récupère la valeur de variable et charge à son tour dans un nouveau mc drop le swf de la partie correspondante (j'aurais pu faire plus simple c vrai mais j'aime bien fractionner à mort mes sites).
Donc par exemple, sur le swf de transition, j'ai sur la première frame:
if (_global.partie==1){
_root.chemin d'accès.loadMovie ("swffillle.swf");
_root.chemin d'accès._lockroot=true;
}
Et là l'anim de preload du swf fille marche niquel et m'amène ensuite sur le swf fille. Mais là où ça se corse, c'est que tous les boutons contenus dans ce même swf fille et qui chargent à leur tour d'autres swf, ben ne marchent plus du tout et ne chargent ni preload ni swf...
J'ai testé en mettant this._lockroot=true; sur la première frame des swf précédents, le problème s'inverse càd que le preload se joue niquel et les anims se chargent mais le preload du swf qui les contient (celui de la partie choisie, vous suivez?^^) lui ne se joue plus...
Arf je desespère. Pour résumer:
preload (marche!) >> swf mere >variable> swf transition(avec lockroot) >> (preload marche)swf fille 1 >> (preload et anim marche pas)swf fille a
ou
(preload marche)>>swf mere >var> swf transition >> (preload marche pas) swf fille 1 >> (preload et anim marche quand lockroot sur preload ici) swf fille a
Si qqun a plus d'infos sur l'utilisation du lockroot, je pense que c'est la solution. Ou alors une autre méthode pour préloader les swf filles a b c... etc... (comme un preload externe par ex, mais je crains que le pb reste).
Merci d'avance à vous! |   Profil
|
| Konrad
8

| Posté : 07-09-2008 15:51
Bon ben j'ai trouvé la solution!! A force de tâtonnement!^^
Il s'agit bien d'utiliser la fonction _lockroot à chaque fois qu'on fait appel à un swf externe.
Donc j'ai utlisé this._lockroot=true; pour bien signifier que chaque swf chargé avait sa propre existence si je puis dire, sans devoir passer par le swf mere.
Donc en gros, pour moi, cela donnait:
preload > swf mere > swf transition > preload (avec ligne lockroot) > swf fille 1 (avec lockroot) > preload (lockroot) > swf fille a
C'est pas mal vu que ça évite, quand on charge bcp de swf, les chemins d'accès a rallonge.^^
Merci en tout cas à ceux qui ont pu réfléchir sur mon cas, et ça aidra sûrment qqun ici. |   Profil
|
| Yamo
5217

| Posté : 07-09-2008 18:54
"Bon ben j'ai trouvé la solution!! A force de tâtonnement!^^
Il s'agit bien d'utiliser la fonction _lockroot à chaque fois qu'on fait appel à un swf externe. "
non la vraie solution, c'est surtout de ne jamais utiliser _root, on le remplace par une suite de _parent comme ça les adressages restent relatifs.
sinon, on est à la merci de tas de problèmes comme celui que tu as eu là.
ici tu t'en sors parce que tu n'as que quelques swf à modifier, et pacde que tu peux les modifier, ce qui ne sera pas toujours le cas..
se servir de _root dans Flash c'est un peu comme utiliser des liens absolus en HTML, c'est vraiment à éviter.
_____________________________________
Directeur artistique / Graphiste freelance >> www.julienmoya.com
// STOP WANKING - GET RICH // |   Profil www
|
| Konrad
8

| Posté : 07-09-2008 22:25
C'est vrai que j'y ai pas du tout pensé. J'utilise pas souvent les _parent d'habitude, parce que je suis du genre maniaque et j'aime bien les _root avec leur chemin d'accès tout de suite identifiable (à mes yeux). Mais si ça apporte ce genre d'emmerdes... Oo
Enfin bref, c'est une mauvaise habitude à perdre de plus! ^^
Merci à toi. |   Profil
|
| fred2501
1098

| | olimar
84

| Posté : 08-09-2008 10:09
Tu peux également avoir des problèmes avec _level0... tu charges un swf au sein de ton appli et pouf tous les _level0 de ton swf feront référence à ta nouvelle appli et plus rien ne marchera.
Une solution toute simple :
_global.Site = this;
Comme ça toutes tes fonctions et tes variables feront référence à Site depuis n'importe où.
---
www.cartonblanc.com |   Profil www
|
| Yamo
5217

| |
|
|
|