zepokpok
Messages postés48Date d'inscriptionlundi 10 février 2003StatutMembreDernière intervention 7 juin 2010
-
12 oct. 2005 à 09:57
cs_goldenboy68
Messages postés1596Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention 9 juin 2011
-
18 oct. 2005 à 14:31
Bonjour à tous,
je suis débutant en code, j'ai suivi une petite formation la semaine derniere dans laquelle nous avions pris l'exemple d'une galerie xml, seulement voilà je bloque un peu, je suis pas trop encore autonome :)
via un bout de code, je crée en fait des boutons qui appelleront des images dans un autre clip, le tout en xml. seulement mon probleme c'est que cela fonctionne sur une largeur de 5 boutons, mais la largeur de mon menu ne me permet pas d'aller au delà.
je cherche donc une petite formule pour dire à flash de "revenir à la ligne" juste en dessous au bout de 5 clips (boutons) créés.
je suis clair ? sinon ça sort de mon menu et ça n'a pas plus d'intéret..
je glisse le code si quelqu'un se sentait capable de m'aider :
// Création du clip vide qui accueillera les images
_root.orientation_courante = "";
_root.menu_xml = new XML();
menu_xml.ignoreWhite = true;
//System.useCodePage = true;
menu_xml.onLoad = function() {
// On place dans un tableau les items associés au premier noeud
noeuds = this.firstChild.childNodes;
// Affichage du nombre de liens à afficher
trace(noeuds);
// Pour chaque lien (case du tableau)
for (var i = 0; i < noeuds.length; i++) {
// On crée une occurence du clip mc
trace (typeof(_root.mise_en_place.crea));
lien = _root.mise_en_place.crea.attachMovie("clipcarré", "clipcarre" + i, i + 30 );
trace ("bouton créé");
// On redéfinit la taille du clip en fonction de la largeur de la scène
// On le positionne dans la scène en abscisse
lien._x = -60 + (lien._width + 11 ) * i + 11;
// On le positionne dans la scène en ordonnée
//if (i % 5 == 0) lien._y 40; > ça doit etre par là qu'on pourrait modfier la chose :)
// On intègre le texte du lien
//lien.monTexte.text = noeuds[i].firstChild.nodeValue;
// On définit une variable adresse associée au clip courant
lien.adresse = noeuds[i].attributes.url;
lien.titre_commentaire = noeuds[i].attributes.titre_commentaire;
lien.commentaire = noeuds[i].attributes.commentaire;
lien.orientation = noeuds[i].attributes.orientation;
// Par défaut, le texte de commentaire est invisible
lien.bt_titre_commentaire._visible = false;
// Affichage du texte au survol du bouton
lien.onRollOver = function() {
/* this.bt_titre_commentaire.text = this.titre_commentaire;
this.bt_titre_commentaire._width = 1000;
this.bt_titre_commentaire._alpha = 100;
this.bt_titre_commentaire._x = this._xmouse + 5;
this.bt_titre_commentaire._y = this._ymouse + 5;
this.bt_titre_commentaire.autoSize = true;
this.bt_titre_commentaire._visible = true;*/
//Au clic, on ouvre une fenêtre de navigateur avec comme URL adresse
}
merci encore à vous si quelqu'un avait la gentillesse de regarder ça vite fait :)
pocket
A voir également:
Boutons en xml avec seconde ligne créée au bout de 5 boutons
cs_goldenboy68
Messages postés1596Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention 9 juin 20112 12 oct. 2005 à 14:37
Subtil!! P't'être un peu trop! lol
Bref, c'est bien ce que je pensais...avec ma p'tite bidouille, ça devrait s'afficher correctement!
@+! Samy
PS: l'autre solution aurait été de commencer à partir de 1 ou alors de remplacer "i" par "(i-1)" à pas mal d'endroit...bref, je crois que ma p'tite modif fera l'affaire!
cs_goldenboy68
Messages postés1596Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention 9 juin 20112 12 oct. 2005 à 10:12
T'as bien repéré la ligne...c'est déjà ça!
lien._y = 40*Math.ceil(i/5);
Essaie-voir avec ça! Sinon, l'autre solution, ce serait de pouvoir
faire défiler ton menu avec tes boutons! (ce qui se fait en général,
car si t'as 80 boutons, y'a encore la place pour le reste de l'anim?
lol)
le premier de la deuxieme ligne remonte plus haut que la premiere, à moins que ce ne soient les premiers de chaque ligne qui remontent tous les deux :)
encore un effort t'y es presque et t'auras droit à ton nom dans les remerciements ;)
cs_goldenboy68
Messages postés1596Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention 9 juin 20112 12 oct. 2005 à 14:26
euh...depuis avant, toujours pas vue tes boutons...t'as mis à jour
l'anim? Y'a bien un début, mais aucun bouton s'affiche! T'as mis le XML
au bon endroit?
Faudrait que je vois...car comme ça, j'ai du mal à m'imaginer ce qui va pas
zepokpok
Messages postés48Date d'inscriptionlundi 10 février 2003StatutMembreDernière intervention 7 juin 2010 12 oct. 2005 à 14:31
oui tout est à jour je dois juste retravailler l'ergonomie :)
en fait quand le menu rose apparait, approche ta souris de l'extremité gauche de ce menu. un onglet apparaitra. choisi le bouton creations qui lancera la galerie à droite. le reste est très bencale mais ce ne sont pour l'instant que les boutons qui m'intéressent voilà :)
merci encore j'espere que je ne t'embete pas trop avec mes soucis de newbie :)
zepokpok
Messages postés48Date d'inscriptionlundi 10 février 2003StatutMembreDernière intervention 7 juin 2010 13 oct. 2005 à 18:00
yjihaa ! :)
on continue dans la joie et la bonne humeur :)
alors voilà j'ai réussi pas mal de trucs aujourd'hui donc je suis bien content mais force est de constater que je galere à mort et que là je coince sur le meme truc depuis deux heures ça le fait pas du tout.. :(
ça doit etre enfantin pourtant mais je connais pas très bien les syntaxes de ce nouveau monde qu'est l'actionscript alors ça coinche..
voilà mon code :
je précise avant que c'est pas du tout optimisé, je le sais, mais j'apprends petit à petit de mes erreurs et j'écris tout pour l'instant afin de gagner en assurance etc... (rajoutez ici votre blabla d'excuses, merci :))
j'ai un fichier xml avec trois noeuds enfants, charpentes, couvertures, ossatures qui comportent pour l'instant les memes images dans leur description mais je pense pas que ça interfere..
quand je lance tout ce beau monde je me retrouve avec 12000 undefined en sortie..
_root.orientation_courante = "";
_root.menu_xml = new XML();
menu_xml.ignoreWhite = true;
//System.useCodePage = true;
menu_xml.onLoad = function() {
// On place dans un tableau les items associés au premier noeud
charpentes = this.firstChild.firstChild.childNodes;
trace(charpentes);
couvertures = this.firstChild.firstChild.nextSibling.childNodes;
trace(couvertures);
ossatures = this.firstChild.firstChild.nextSibling.nextSibling.childNodes;
trace(ossatures);
// Pour chaque lien (case du tableau)
for (var i = 0; i < charpentes.length; i++) {
// On crée une occurence du clip mc
trace (typeof(_root.mise_en_place.sousmenu.crea.charpentes));
lien = _root.mise_en_place.sousmenu.crea.charpentes.attachMovie("clipcarré", "clipcarre" + i, i + 30 );
//trace ("bouton créé");
// On redéfinit la taille du clip en fonction de la largeur de la scène
// On le positionne dans la scène en abscisse
lien._x = -60 + (lien._width + 11 ) * (i%5) + 11;
lien._y = 30*Math.ceil(i/5+0.01);
// On intègre le texte du lien
lien.monTexte.text = charpentes[i].firstChild.firstChild.nodeValue;
// On définit une variable adresse associée au clip courant
lien.adresse = charpentes[i].attributes.url;
lien.titre_commentaire = charpentes[i].attributes.titre_commentaire;
lien.commentaire = charpentes[i].attributes.commentaire;
lien.orientation = charpentes[i].attributes.orientation;
// Par défaut, le texte de commentaire est invisible
lien.bt_titre_commentaire._visible = false;
}
/////
////
for (var i = 0; i < couvertures.length; i++) {
// On crée une occurence du clip mc
trace (typeof(_root.mise_en_place.sousmenu.crea.couvertures));
lien = _root.mise_en_place.sousmenu.crea.couvertures.attachMovie("clipcarré", "clipcarre" + i, i + 30 );
//trace ("bouton créé");
// On redéfinit la taille du clip en fonction de la largeur de la scène
// On le positionne dans la scène en abscisse
lien._x = -60 + (lien._width + 11 ) * (i%5) + 11;
lien._y = 30*Math.ceil(i/5+0.01);
// On intègre le texte du lien
lien.monTexte.text = couvertures[i].firstChild.firstChild.nextSibling.nodeValue;
// On définit une variable adresse associée au clip courant
lien.adresse = couvertures[i].attributes.url;
lien.titre_commentaire = couvertures[i].attributes.titre_commentaire;
lien.commentaire = couvertures[i].attributes.commentaire;
lien.orientation = couvertures[i].attributes.orientation;
// Par défaut, le texte de commentaire est invisible
lien.bt_titre_commentaire._visible = false;
}
////
////
for (var i = 0; i < ossatures.length; i++) {
// On crée une occurence du clip mc
trace (typeof(_root.mise_en_place.sousmenu.crea.ossatures));
lien = _root.mise_en_place.sousmenu.crea.ossatures.attachMovie("clipcarré", "clipcarre" + i, i + 30 );
//trace ("bouton créé");
// On redéfinit la taille du clip en fonction de la largeur de la scène
// On le positionne dans la scène en abscisse
lien._x = -60 + (lien._width + 11 ) * (i%5) + 11;
lien._y = 30*Math.ceil(i/5+0.01);
// On intègre le texte du lien
lien.monTexte.text = charpentes[i].firstChild.firstChild.nextSibling.nextSibling.nodeValue;
// On définit une variable adresse associée au clip courant
lien.adresse = ossatures[i].attributes.url;
lien.titre_commentaire = ossatures[i].attributes.titre_commentaire;
lien.commentaire = ossatures[i].attributes.commentaire;
lien.orientation = ossatures[i].attributes.orientation;
// Par défaut, le texte de commentaire est invisible
lien.bt_titre_commentaire._visible = false;
//Au clic, on ouvre une fenêtre de navigateur avec comme URL adresse
}
// MAsquage du texte à la sortie du bouton
lien.onRollOut = function() {
this.visite.gotoAndPlay("invisible");
this.bt_titre_commentaire._visible = false;
//Au clic, on ouvre une fenêtre de navigateur avec comme URL adresse
}
merci encore j'ai beaucoup appris ces derniers jours !! (je sais ça doit pas se voir :D)
zepokpok
Messages postés48Date d'inscriptionlundi 10 février 2003StatutMembreDernière intervention 7 juin 2010 14 oct. 2005 à 11:11
c'est bon j'ai trouvé ! :)
en fait les clips qui recevront le clip créé doivent etre présents dans la premiere image et durant tout l'animation.
j'ai donc tout mis dans la premiere image et un clip par calque.. et suivant l'endroit das l'animation je masque ou pas le calque..
par contre c'est étrange, mais mes derniers boutons marchent parfaitement mais ceux des deux premiers menus ne donnent des liens et n'affichent un clip au rollover que sur le dernier bouton de chaque groupe..
zepokpok
Messages postés48Date d'inscriptionlundi 10 février 2003StatutMembreDernière intervention 7 juin 2010 18 oct. 2005 à 11:11
re,
j'apprécie beaucoup ton aide merci encore,
par contre je bloque je dois pas comprendre exactement le truc..
j'ai fait ça sur ton modele :
for (var i = 0; i < charpentes.length; i++) {
this["clipcarre"+i].varI=i ==> j'ai rajouté ça, marche pas mieux..
// On crée une occurence du clip mc
trace (typeof(_root.mise_en_place.sousmenu.crea.charpentes));
lien = _root.mise_en_place.sousmenu.crea.charpentes.attachMovie("clipcarré", "clipcarre" + i, i + 30 );
//trace ("bouton créé");
// On redéfinit la taille du clip en fonction de la largeur de la scène
// On le positionne dans la scène en abscisse
lien._x = -60 + (lien._width + 11 ) * (i%5) + 11;
lien._y = 30*Math.ceil(i/5+0.01);
// On intègre le texte du lien
lien.monTexte.text = charpentes[i].firstChild.firstChild.nodeValue; // dans cette zone j'ai également remplacé // On définit une variable adresse associée au clip courant // tous les i par varI pour voir
lien.adresse = charpentes[i].attributes.url;//
lien.titre_commentaire = charpentes[i].attributes.titre_commentaire;// sans résultat, je dois pas faire ce qu'il faut,
lien.commentaire = charpentes[i].attributes.commentaire;// pas bien saisir :-(
lien.orientation = charpentes[i].attributes.orientation; //
// Par défaut, le texte de commentaire est invisible
lien.bt_titre_commentaire._visible = false;
}
si tu vois un truc... j'ai résolu le pb d'affichage de ma galerie déjà.. tous les jours je résous un petit truc, je pense que dans 5 ans le site devrait presque etre fini...
zepokpok
Messages postés48Date d'inscriptionlundi 10 février 2003StatutMembreDernière intervention 7 juin 2010 18 oct. 2005 à 12:03
malheureux faut pas t'excuser de vouloir m'aider ;)
ok je vois ça. le code devait etre correct avant quand je n'avais qu'un noeud xml. mais j'en ai rajouté 2 donc j'ai copié collé betement des parties de texte.
du coup je me retrouve avec plusieurs boucles for... p'tete bon aussi... j'suis paumé..
et je remets quasiment le meme code pour chaque boucle puisqu'à chaque fois pour un bouton créé dans un noeud, il doit afficher un commentaire au survol, ne plus l'afficher au sortir du survol, charger l'image correspondante au clic, avec loading svp :)
du coup je me retrouve avec un code de 30 m de long mais je suis pas capable de l'optimiser d'avantage...
le loading j'imagine qu'il faudra que j'integre ça dans les fonctions du on release mais ça va etre chaud encore je pense :D
j'ai copié ton bout de code effectivement le survol marche dorenavant pr tous les boutons mais le sortir du survol ne fonctionne plus pour sa part