Scrollpane et chargement d'images dynamique

cs_SoyYo Messages postés 210 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 27 novembre 2009 - 30 sept. 2005 à 16:05
cs_SoyYo Messages postés 210 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 27 novembre 2009 - 18 oct. 2005 à 21:36
Bonjour



J'ai un probleme avec une galerie photo dynamique. Je voudrais charger
des photos a partir d'un XML dans un scrollpane. En fait ce que je fais
c'est que dans le scrollpane je cree un clip conteneur dans lequel je
cree plusieurs clip dans lesquels je load mes images. Mas le probleme
est que quand je test rien ne se passe les images ne sont pas chargees
et du coup le scrollpane n'est pas affiche j'ai tout teste avec mes
connaissance en programation et en AS et avec ce que j'ai pu
trouver dans le forum, mais la je seche donc si quelqu'un pouvait
m'aider svp. Voici mon code:



Code dans le onLoad de mon scrollpane donc this = mon scrollpane!



this.createEmptyMovieClip("conteneur", 1); //creation du clip conteneur

var contener = this["conteneur"];

var nom = "";

var tofs = _parent.myXML.firstChild.childNodes;

//nb images

var lon = tofs.length;

for(var i = 1; i < lon; i++){

nom = tofs[i].attributes.nom;

//creation d'un clip vide

contener.createEmptyMovieClip("image" + i, i+10);

conteneur["image" + i].load(nom);

}



Merci a+



Ju

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
30 sept. 2005 à 17:42
Salut

si tu parles du scrollpane, le composant Flash, c'est pas comme ca qu'on s'en sert.

tu peux pas crée un clip dans un composant

il faut que tu fasse un clip, lié pour AS dans la librairie et utilise les proprétés du scrollpane

a savoir

monScrollpane.contentPath = "nomDeLinkage";

ensuite tu peux modifier le contenu (un fois on xml chargé) par

monScrollpane.content.createEmpty...

ou content est le clip chargé dans le scrollpane

enfin look l'aide de flash



de plus dans ton code tu te trompe, pour chargé un swf ou img dans un clip c loadMovie et non load

faut regarder l'aide encore une fois :)

++

Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
0
cs_SoyYo Messages postés 210 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 27 novembre 2009
3 oct. 2005 à 18:05
Merci pour ta reponse, j'ai teste ce week end et cela marche tres bien
quand je met juste une seule photo directement dans le movieClip
attache au scrollPane, mais par contre quand je load mes photos dans
des movieClip vides crees dans celui attache au scrollpane il ne se
passe plus rien!!!! Voici mon code, la j'utilise un movieClipLoader
mais meme en utilisant seulement le loadMovie() ça me fait la meme
chose:



scrollAlbum.contentPath = "imageCnt";

var colone = 0;

var ligne = 0;

var nom = "";

var tofs = baseNode.childNodes;

//nb images

var lon = tofs.length;

for(var i = 1; i < lon; i++){

nom = tofs[i].attributes.nom;

//creation d'un clip vide

this.content.createEmptyMovieClip("image" + i, i+10);

var monLoader = new MovieClipLoader();

var monEcouteur = new Object();

if(colone == 5){

colone = 0;

ligne++;

}

colone++;



//deplacement et redim du clip conteneur

monEcouteur.onLoadInit = function(cible) {

cible._x = 10 +(colone*130) + (cible._width/2);

cible._y = 10 +(ligne*170) + (cible._height/2);

cible.onPress = function () {

var url = "javascript:popup('pages/utli/popup.htm?src=" + nom + "')";

getURL(url);

}

cible._xscale = cible._yscale /= 5;

}



monEcouteur.onLoadComplete = function(cible) {

play(); // on redémarre dès que la photo est chargée

}



monLoader.addListener(monEcouteur);

monLoader.loadClip(nom, "image" + i);

//arret tan ke la foto est pas chargee

stop();

}



faut-il que les movieClip dans lesquels je load mes photos soient aussi des movieClip de la librairie?



encore merci pour ton aide



Ju
0
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
3 oct. 2005 à 18:18
Salut

j'ai pas tt lu

mais

this.content = ....

alors que ton scrollpane s'appel scrollAlbum, ca risque pas de marcher ....

un

scrollAlbum.content.... devrai mieux marcher

ensuite tu met tt dans la mm boucle donc probleme, le loader charge que
la derniere images, si tu veux charger 15 image en mm temps il te faut
15 loader ...

si tu veux utiliser le mm loader pour toutes les images, il faut que tu
en charge une, puis quand c fait la suivante et ainsi de suite ...




Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
0
cs_SoyYo Messages postés 210 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 27 novembre 2009
3 oct. 2005 à 21:25
Tout d'abord desole pour les confusion entre le this et scrollAlbum
mais a force de faire des copiers/collers en tres mes codes pour les
changer de place je m'y perd un peut!!!!



Sinon j'ai tout bien remis dans l'ordre et j'ai fait comme tu m'as dit,
je cree d'abord le nombre de loaders et d'ecouteurs dont j'ai besoin et
apres je les utilise pour charger mes images. Mais ça ne marche
toujours pas , j'ai fait plein
de trace de partout et pour moi ça devrait marcher car je passe meme
dans mes onLoadComplete ou j'arrive bien a recuperer toutes les
informations sur mes images ce qui veut dire que normalement elle sont
bien loadees mais rien ne s'affiche!!!!



Je te redonne mon nouveau code (desole si ça commence a surcharger la page!!):



//affectation du clip pour le scrollpane

scrollAlbum.contentPath = "imageCnt";

//info pour les images

var colone = 0;

var ligne = 0;

var nom = "";

//variable pour savoir kel image est chargee

var conteur = 1;



var tofs = baseNode.childNodes;

//nb images

var lon = tofs.length;

//tablo pour le nom et le placement de chake image

var info = new Array();

//creation des loaders et ecouteurs

var loader = new Array();

var ecouteurs = new Array();

for(var i = 1; i < lon; i++){

loader.push(new MovieClipLoader());

ecouteurs.push(new Object());

}

//chargement des images

for(var i = 1; i < lon; i++){

//recuperation du chemin de l'image

nom = tofs[i].attributes.nom;

//creation d'un clip vide

scrollAlbum.content.createEmptyMovieClip("image" + i, i+10);

//stockage du nom et de l'emplacement de l'image pour povoir retrouver ces infos dans son loader

info.push(new Array(nom, colone, ligne));



ecouteurs[i].onLoadComplete = function(cible) {

cible._x = 10 +(info[conteur][1]*130) + (cible._width/2);

cible._y = 10 +(info[conteur][2]*170) + (cible._height/2);

cible.onPress = function () {

var url =
"javascript:popup('pages/utli/popup.htm?src=" + info[conteur][0] + "')";

getURL(url);

}

cible._xscale = cible._yscale /= 5;

trace(cible._x +" "+cible._y);

conteur++;

}



loader[i].addListener(ecouteurs[i]);

loader[i].loadClip(nom, scrollAlbum.content["image" + i]);



if(colone == 5){

colone = 0;

ligne++;

}else{colone++;}



if(i == lon - 1){

scrollAlbum.content._width = 693;

scrollAlbum.content._height =
ligne * 128 + 10 * (lon + 1);


}

}

stop();



Merci



Ju
0

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

Posez votre question
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
3 oct. 2005 à 23:39
Salut

un tel script seul me sert a rien et frachement j'aime bien l'as, mais me lire ca just epour le plaisir non

fait bien un tour de plus pour essayé de debuger et seulement là envois
un ton fla, img, et tt ce qui est necessaire à benjamin@kolapsis.net et
je jetterais un coup d'oeil

commente ton code et n'oublie rien

a oui evite de saturé cette adresse mail, c juste pour cette fois, apres si t'as d'autre prob tu reutiise ce forum

++

Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
0
cs_SoyYo Messages postés 210 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 27 novembre 2009
4 oct. 2005 à 15:20
Ok merci je te fait parvenir ça des que je recupere mes donnees, en
fait j'ai eu un cramage de disque dur hier soir donc si je recupere ça
un jour je t'envoie ça et sinon je vais me remettre a faire mon site
depuis le debut!!!!



A+



Ju
0
cs_SoyYo Messages postés 210 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 27 novembre 2009
18 oct. 2005 à 21:36
Salut



En fait j'ai a moitie resolu mon probleme!!!!



Ce que j'ai fait, c'est que j'ai cree un movieClip vide dans ma
bibliotheque auquel j'ai ensuite rajoute du code afin qu'il charge lui
meme les photos quand il est loade puis se redimensionne une fois
toutes les photos chargees. Puis lors de l'initialisation de ma page
principale, j'affecte ce movieClip a mon scrollPane via contentPath. Du
coup lors du load les photos sont bien loadees et affichees. Mais et
oui c'est la le probleme, la barre de scroll verticale n'apparait pas
alors que le movieClip est trop grand pour le scrollPane (certaine
photos ne se voient pas et d'autres sont coupees). J'ai teste de mettre
"auto" ou "on" pour vscrollPolicy et c'est la meme chose, elle
n'apparait toujours pas, et ce qui est le plus louche c'est que je peut
scroller en utilisant la mollette de la sourie!!! Donc la je comprend
pas.



Est-ce que c'est ma maniere de faire qui n'est pas bonne? ou ai-je oublie quelque chose?



Voila encore merci de ton aide.



a+



Ju
0
Rejoignez-nous