nan nan , tu n'as pas compris ..
mais merci quand même ....(je ne suis pas débutant pour ma part .. )
et pour faire un update de ma question , j'ai eu quelques infos .. mais j'ai concience que ma question ne peux être répondu...(avec si peu d'éléments.)
en fait , il faudrait faire un tableau inserer les vignette dans un tableau et dire .
qu'au clic d'une vignette , il fait un Foreach, ou While , en récupérant toutes les vignettes et leur donnant des nouveau effets.
j'ai trouvé des infos sur le livre de Thibault.
Attention encore une fois , il s'agit d'une question en as3 TheBestFear.
Stp TheBestFear lit bien avant de pensé avoir répondu ..
j'ai posté dans XMl car le Pb intervient lorsque l'on fait de la duplication d'élément graphiques (var mc = new mc ) , et on le fait justement avec dans un contexte XMl/flash. (pas vu mieux ...comme rubrique ..)
TheBestFear, juste histoire de , regarde le lien que j'ai donné . quand tu clic sur les liens , regarde l'éffét de transition . il s'agit de faire ça , mais dans un contexte dynamique .. (super pas facile !). Et je ne peux accepter de réponse qui bidouille sur le sujet (comment contourner etc ..) car j'aimerai pouvoir postuler ensuite comme flasheur ...
Mais ç'est bon , j'ai eu des éléments de réponses déjà dans les livres , . Bon même si c'est génant , car j'ai maintenant des codes qui s'en rapprenche drôlement, je ne les comprends pas vraiment ... Sniff c'est décourageant , ça fait pleurer flash tellement c'est dur ..
voici des code interressant par rapport à la question . Donc le livre c'est : Pratique d'ActionScript 3 livre de Mr Thibault IMBERT (open source en partie !), chapitre 6 , "capture boutton 3"
Code ActionScript :
// nombre de fenêtres
var nbFenetres:int=12;
// création d'un conteneur
var conteneurFenetres:Sprite = new Sprite();
// ajout à la liste d'affichage
addChild( conteneurFenetres );
var maFenetre:Fenetre;
// modification de la cadence de l'animation
stage.frameRate=30;
for (var i:int = 0; i< nbFenetres; i++)
{
maFenetre = new Fenetre();
maFenetre.destX = 7 + Math.round ( i % 3 ) * ( maFenetre.width + 10 );
maFenetre.destY = 7 + Math.floor ( i / 3 ) * ( maFenetre.height + 10 );
maFenetre.addEventListener( Event.ENTER_FRAME, mouvement );
conteneurFenetres.addChild( maFenetre );
}
function mouvement( pEvt:Event ):void
{
// algorithme d’inertie
pEvt.target.x -= ( pEvt.target.x - pEvt.target.destX ) * .3;
pEvt.target.y -= ( pEvt.target.y - pEvt.target.destY ) * .3;
}
// souscription auprès du conteneur pour la phase de capture
conteneurFenetres.addEventListener( MouseEvent.CLICK, captureClic, true );
// souscription auprès du conteneur pour la phase de remontée
conteneurFenetres.addEventListener( MouseEvent.CLICK, clicRemontee );
function captureClic( pEvt:MouseEvent ):void
{
pEvt.currentTarget.removeChild( pEvt.target as DisplayObject );
}
function clicRemontee( pEvt:MouseEvent ):void
{
var nbFenetres:int=pEvt.currentTarget.numChildren;
var objetGraphique:DisplayObject;
var maFenetre:Fenetre;
while ( nbFenetres-- )
{
// récupération des objets graphiques
objetGraphique=pEvt.currentTarget.getChildAt(nbFenetres);
// si l'un d'entre eux est de type Fenetre
if (objetGraphique is Fenetre) {
// nous le transtypons en type Fenetre
maFenetre=objetGraphique as Fenetre;
// repositionnement de chaque occurrence
maFenetre.destX = 7 + Math.round ( nbFenetres % 3 ) * ( maFenetre.width + 10 );
maFenetre.destY = 7 + Math.floor ( nbFenetres / 3 ) * ( maFenetre.height + 10 );
}
}
}