Probleme de preload de composant

Résolu
cs_aadi Messages postés 5 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 24 août 2005 - 23 août 2005 à 15:59
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 - 24 août 2005 à 18:17
bonjour a tous,



ca fait un moment que je consulte les aides et les source de ce site, mais je n'est pas trouver de reponse a mon probleme...

donc je me lance!



voila, j'ai des champs texte dynamique qui charge un fichier txt....ceux ci sont equipés de scrollbar

le probleme c'est qu'en local comme en ligne, les ascenceurs n'apparaissent au mieux qu'au deuxieme chargement du swf...

en fait je ne suis pas sur que le probleme vienne des ascenceurs mais plutot de la maniere dont je charge les fichiers texte



concretement j'ai un petit loading sur le premier niveau de mon anim: ifFrameLoaded (2) {

gotoAndStop(2);

}



dans la deuxieme frame il ya le movieclip contenant le champ texte et la scrollbare



dans ce movieclip sur la premiere frame j'appel le champ texte: loadVariables("press.txt", "");



et voila....

quelqu'un pourrait'il prendre le temp de m'expilquer comment je peux faire pour que mon texte soit charger en premier?

ca me permettras aussi de pas avoir le texte qui apparait d'un coup salement et surtout ca regleras mon probleme d'ascenceur

je peux envoyer mes fichiers aussi si c'est pas clair faux juste que je trouve le bouton

merci les gars!



[file:///E:/INTERNET/flintglass%20V2/sommaire/press.txt ]

7 réponses

_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
23 août 2005 à 16:47
alors premierement pour le chargement général

utilise plutot getBytesLoaded() et getBytesTotal()

ifframeisloadded fonctionne, mais est déprécier dans mx 2004 (et
attention flash 8 sort bientot, donc ca ne marchera ss doute plus)

pareil pour loadVariable, utilise plutot LoadVars()



de tte facon t'es obligé de charger l'anim av le texte, mais rien ne t'empeche de lancé l'anim qu'une fois le texte chargé

fait 2 scene, une chargement, une anim

dans 'anim' tu as ton champ et le scroll



dans chargement : sur image 1 tu met :

stop();

function onEnterFrame(){

var pc = _root.getBytesLoaded()*100/_root.getBytesTotal();

if (pc == 100){

chargerText();

}

}

function chargerText(){

var lv:LoadVars = new LoadVars();

lv.onLoad = function(s){

if (s) {

_root.monTexte = this.variableTexte;

play(); // pour allé scene suivante

} else trace ("erreur de chargement");

}

lv.load("press.txt");

}



dans la scene anim, sur la premier image tu aura

monChamp.text = _root.monTexte;



et voilà ton texte est chargé avant que tu n'affiche le champ et son scroll

++


Flash sans Limites
_Benjy
3
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
24 août 2005 à 03:18
http://kolapsis.net/press.zip

voila ton fichier corrigé
ps : merci d'accepter les réponses si elles te conviennent c'est pour mes point CS :)

ps2 : merci de ne pas envoyé tes messages en doublon, un mesage suffit j'allait bien te répondre ...


Flash sans Limites
_Benjy
3
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
24 août 2005 à 18:17
en effet c pas pareil pour un clip (un scrollpane n'a rien a voir c'est un composant mx)

pour un clip, c'est un onEnterFrame qui verifie le total chargé (comme pour l(anim pricipal dans l'exemple)

function onEnterFrame(){

var pc = monClip.getBytesLoaded()*100/monClip.getBytesTotal();

if (pc == 100){

delete onEnterFrame;

trace ("le clip est chargé");

}

}

pour un scrollpane, c'est la mm methode, mais non
monClip.getBytesLoaded(), mais monScroll.bytesLoaded; (a verifier dans
l'aide de flash)

++

Flash sans Limites
_Benjy
3
Crazyx Messages postés 128 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 15 octobre 2008
23 août 2005 à 17:04
En fait moi je suis débutant donc je te propose une solution a ton problème mais pas forcement la meilleure ni la plus adapté .
En fait moi ce que je fait c'est que je charge le fichier txt dans une frame on va dire la frame 1 contenant un texte du genre chargement en cours et ensuite je passe a la frame 2 pour traiter le contenu
ca donne qqchose comme :
dans le fichier txt :
&press= ton text.
dans la frame 1
oLoadText = new loadVars();
oLoadText.load("press.txt");
oLoadText.onLoad = function(success) {
if (success) {
_root.contenutxt = this.press; // on assigne le contenu de press.txt dans la variable contenutxt
gotoAndStop(2);
}
};
stop();
et dans la frame 2 : ton champ de texte etc ...
la variable contenant ton texte sera _root.contenutxt

En fait pour t'expliquer un peu flash met un temps x a charger le fichier en question. Si l'animation se joue avant qu'il est finit de charger , bah come tu dis il faut plusieurs fois jouer l'anim , en fait jusqu'a qu'il finisse de la charger.
LoadText teste par le sucess si c'est chargé , sinon il attend et quand c chargé il récupére la variable et son contenu que ici j'ai mis dans _root.contenutxt .
Maintenant peut etre qu'il faudra aggrémenter le code pour qu'il puisse recevoir exactement les accents, pour eliminer les retours chariots peut être etc... je dis bien peut etre tu verras bien en testant. Si c'est le cas enregistre ton texte en utf-8 et fouine de se coté la . En fait moi je récupére les variables php comme ca ca marche aussi bien pour les .txt mais bon je sais pas sur quoi tu peux tomber

BOnne continuation

cx
0

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

Posez votre question
cs_aadi Messages postés 5 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 24 août 2005
23 août 2005 à 18:49
merci les gars je vais tester tout ca!

comme beaucoup de monde j'ai appris sur le tas alors j'ai comme qui dirait de lacunes

j'espere ne pas avoir a reposter quelque chose

en tout les cas bravo pour la reacticitée....c'est pas pareil partout!
0
cs_aadi Messages postés 5 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 24 août 2005
24 août 2005 à 11:07
oui pardon pour le doublon je sais que ça fait un peu
agressif mais c'étais un accident....(la page qui se ferme, aucun message de
validation etc.)




GENIAL! Tu m'a fait avancé d'un grd pas dans ma compréhension
de l'action script!

merci encore!




ps: je valide, je valide....;)
0
cs_aadi Messages postés 5 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 24 août 2005
24 août 2005 à 17:42
salut! c'est encore moi....

je voulais etre sur de bien comprendre, puisque cette histoire va me servir aussi a d'autre choses....



stop();



function onEnterFrame(){

var pc = _root.getBytesLoaded()*100/_root.getBytesTotal();

if (pc == 100){

chargerText();

}//jusque la tu met en place la "routine" de
chargement et tu dit a la fin,qu'elle a pour objet chargerText...

}

function chargerText(){//ensuite tu definis chargerText

var lv:LoadVars = new LoadVars();

lv.onLoad = function(s){

if (s) {

_root.monTexte = this.press

gotoAndStop(2);

} else {

trace ("erreur de chargement");

}

}

lv.load("press.txt");//tu definis lvload...

}

mais admettons qu'il s'agisse d'un clip ou bien d'un scrollpan par exemple....on utilise pas un loadvars non?

J'ai vraiment du mal a mettre ce script en pratique pour autre chose
que du texte pourtant j'ai l'impression d'etre a deux doigts....

une petite sugestion?

ou j'abuse?



ps: je rame, bondieu que je rame! lol!
0
Rejoignez-nous