archi32
Messages postés14Date d'inscriptionmercredi 6 octobre 2004StatutMembreDernière intervention22 juin 2007
-
6 avril 2005 à 18:12
Crazyx
Messages postés128Date d'inscriptionvendredi 4 avril 2003StatutMembreDernière intervention15 octobre 2008
-
14 avril 2005 à 19:21
Bonjour !
Je ne suis probablement pas le premier !
Mon problème :
Sur Flash MX 2004,
mon site fonctionne bien en local mais sur internet, les photos ne se charge pas bien...jusque là normal.
Au départ je fais ça : (le code est simplifié)
createEmptyMovieClip(conteneur1, 0);
loadMovie("images/" + fichierPhoto[1], conteneur1);
ça ça marche...pas de pb.
Ensuite je veux travailler l'image (je dois donc attendre qu'elle soit chargée), j'ai essayé de mettre plein d'image entre les deux opérations et ça fonctionne mais le temps d'attente devient trop long (même pour ceux qui ont une bonne connexion...pas cool)
Du coup, je crée une boucle du genre :
if(conteneur1.getBytesLoaded() < conteneur1.getBytesTotal()){
gotoAndPlay("chargement");
}
'chargement' est l'image qui précède le code ci-dessus.
Un trace de ces 2 bêtes (getBytes...) me renvoit bien qlq chose.
Mon problème est que cette boucle ne fonctionne pas ! Ce bout de code a l'air ignoré. (ça fait pas plaisir !!) et du coup certaines images ne sont pas du tout affichée.
(Tant que j'y suis, j'ai envisagé de faire un préchargement vers le cache (en php) de toutes mes photos et de les récupérer après en flash, c possible ?)
Crazyx
Messages postés128Date d'inscriptionvendredi 4 avril 2003StatutMembreDernière intervention15 octobre 2008 12 avril 2005 à 15:31
Bon moi je vais te proposer un truc mais c du bidouillage
http://www.flashkod.com/code.aspx?ID=22971 C le code ecrit par BlackWizzard
De 1 ca te permettera de passé outre la contrainte du format unique jpg
de 2 tu pourra redimensionné ton image avant le loadmovie, et donc un simple loadmovie te chargera l'image en question au format voulu sans que tu effectue un préchargement j'ai butté dessus pendant un moment aussi donc ... donc ca plus de 3 bidouille tu t'en sortiras. Moi perso j'ai modifié le script pour l'utiliser selon mes besoins donc si t'a besoin d'aide on verra ca par msn c mieux ...
archi32
Messages postés14Date d'inscriptionmercredi 6 octobre 2004StatutMembreDernière intervention22 juin 2007 7 avril 2005 à 11:27
Déjà merci de ne pas m'avoir jeté !
J'ai été voir le code...
(pour ceux que ça intéresse)
var mon_mcl:MovieClipLoader = new MovieClipLoader();
createEmptyMovieClip("image1_mc", 1);
var mon_lstn:Object = new Object();
mon_lstn.onLoadInit = function(cible_mc:MovieClip) {
cible_mc._width = 100;
cible_mc._height = 100;
};
mon_mcl.addListener(mon_lstn);
mon_mcl.loadClip("adresse.jpg", image1_mc);
Si j'ai bien compris, tu me conseille de préparer mon conteneur (dimensionner, placer...) et de charger la photo après dedans ???
Ca peut effectivement solucionner mon problème...
(J'ai pas encore tout compris au code ci-dessus mais je vais voir sur les aides...)
Mais par simple curiosité, j'aimerai bien savoir pourquoi mon contrôle sur le chargement de ma photo (avec getBytesLoaded()) ne fonctionne pas. (alors que le trace fonctionne)
archi32
Messages postés14Date d'inscriptionmercredi 6 octobre 2004StatutMembreDernière intervention22 juin 2007 7 avril 2005 à 16:58
ok j'ai fait une boulette, en fait je suis sur Flash MX (tout court !!!) et donc je ne dispose pas de la classe movieClipLoader (et tout ce qui va avec), du coup je ne peux pas du tout utiliser ton code (malheureusement)...
J'ai testé plusieurs chose, notamment ça :
var rapport = 0
while (rapport < 1) {
total = this[conteneur].getBytesTotal() ;
chargee = this[conteneur].getBytesLoaded() ;
rapport = Math.round((chargee)/(total));
}
Le problème c que là le navigateur propose de bloquer le script (cette boucle doit se répéter trop de fois)
pour le chargement de chaque photo...
En plus, cette boucle a l'air de bouffer pas mal de ressource car elle ralonge de bcp le temps de chargement des photos. (La bonne nouvelle, c'est qu'elle s'excécute apparament !)
Et comme tu dis, le renvoi sur diapo bug de temps en temps
J'ai toujours besoin d'aide...
(le préchargement en php est envisageable ? -- j'avoue que préfère résoudre ça ds le flash mais bon...)
archi32
Messages postés14Date d'inscriptionmercredi 6 octobre 2004StatutMembreDernière intervention22 juin 2007 13 avril 2005 à 09:44
Merci !
j'ai regardé vite fait le code php, ça peut coller...
mais entre-temps je suis passé à MX 2004 , je vais donc d'abord essayer sur Flash mais je garde le code que tu m'as donné sous le coude !!! (J'ai pas super confiance en flash pour le chargement de photos sur internet)
Crazyx
Messages postés128Date d'inscriptionvendredi 4 avril 2003StatutMembreDernière intervention15 octobre 2008 14 avril 2005 à 19:21
C niquel alors ... sauf que je te rappelle encore une fois que flash ne charge pas les jpg progressif et les autre format gif png ( en fait il ne lit que les jpg non progressive). Donc le script couplé a flash me parait essentiel pour ce que tu veux faire ( a moins que tu n'en ai pas besoin :D )
Allé bonne chance et bon coding :)