Darkrats
Messages postés212Date d'inscriptionmardi 2 novembre 2004StatutMembreDernière intervention12 mai 2008
-
8 juil. 2005 à 12:27
Darkrats
Messages postés212Date d'inscriptionmardi 2 novembre 2004StatutMembreDernière intervention12 mai 2008
-
4 janv. 2006 à 10:04
Salut tout le monde
Alors j'ai un ptit soucis ( logique sinon je posterais pas une question )
( J'ai deja poste ma question y a une heure ou deux mais c etait en
reponse a un ancien sujet datant de 2004 donc je me permets de le
replacer afin qu on puisse eventuellement voir le probleme et peut etre
y apporter une solution )
Alors c est simple, j'affiche dynamiquement des clip contenant un bouton à l'aide de la fonction attachMovie
Lors de la création je les dispose sur ma scène, jusque la pas de soucis.
Le problème arrive maintenant, j'aimerais que lorsqu on clique sur un
des clip chargé il se passe une action. Mais cette action dépendrait du
clip qui a été cliqué.
Donc si j ai chargé avec des attachMovie 10 clip : clip1,clip2, clip3, etc ...
J'aimerais appliquer une action A sur le clip 1, une action B sur le 2 etc ...
Ce que je n'arrive pas à faire ( malgré la
solution proposée sur l ancien post ) c de réussir a déterminer sur
quel clip l'utilisateur a cliqué.
Je remets ici la solution qui a été trouvée par robertours :
La solution fixer la valeur d'une variable pour chaque copie, c'est de
faire suivre le duplicatemovieclip par la définition de fonction :
J'aimerais autant que possible minimiser l'utilisation des boucles "for" "onenterFrame" etc ... voir meme a ne pas y recourir.
Comme je l'ai précedement dit sur l autre post, j'aimerais avoir une
explication du raisonnement, et de la méthode et pas forcemment un code
déjà tout parametrer ( sinon je comprendrais jamais et je ne saurais
pas l adapter a mes besoins )
Si quelqu un sait eclairer ma lanterne, qu il puisse me faire voir la lumiere
Darkrats
Messages postés212Date d'inscriptionmardi 2 novembre 2004StatutMembreDernière intervention12 mai 20081 12 juil. 2005 à 08:53
Re bonjour à tous
Bhein ici, j'ai trouvé une solution ( j'ai enfin réussi a parametrer
donc il est possible que ca bug encore, mais au pire si c est le cas ca
n en restera pas moins une piste pour ceux que ca interesse )
La solution est pas géniale géniale, vu que je suis obligé d'utiliser une boucle mais elle a le mérite de fonctionner.
Donc pour ceux que ca interesse voici la bidouille ( je le répète, je
sais pas ce qu'elle vaut donc si d'autres ont aussi des suggestions,
qu'ils ne se privent pas )
( dans mon cas, j'utilise un bouton mis en arriere plan qui supportera tous les clic : bouton_clip_fond )
tab_clip = new Array;
Pour la création du clip dynamique à l'endroit du clic de la souris
// mettez ici vos fonctions qui doivent se jouer si on a cliqué sur le bon clip
break;
}
}
}
Le break arrêtera la boucle dés que la condition a été remplie.
Dans mon cas, il n'y aura jamais qu'un seul clip qui remplira cette
condition donc ca me convient.
Si aucun clip ne correspond, la boucle s'arretera d'elle meme de toute facon.
Si vous faites un trace() avec le nom du clip -> trace(tab_clip[ma_variable]._name) vous obtiendrez le nom de votre clip.
Voila j espere que ca pourra aider quelqu un ...
Si vous voyez des erreurs de code ou une maniere de l'optimiser, n'hesitez pas ...
Vais pet etre envisagé de poster une source ... ca peut tjs servir ...
enfin je testerai ca plus en profondeur afin de voir si ca bug pas.
Voila merci a tous ( vos sources, tuto ou meme post m ont tjs bcp aidé et bcp inspiré )
Darkrats
Messages postés212Date d'inscriptionmardi 2 novembre 2004StatutMembreDernière intervention12 mai 20081 8 juil. 2005 à 15:47
Bon, je continue a patauger severe ...
Je developpe plus encore mon projet parce que si ca se trouve il y a une autre astuce pour s en sortir
Alors pour mon projet je dois permettre a l utilisateur de disposer ou bon lui semble et en quantité indéfinie des clips
Pour ca, j'ai utilisé la fonction attachMovie comme je l avais precedemment dit.
En plus de ca, je dois permettre de relier par des "cables" ( des
tuyau, j ai un clip contenant un bout de tuyaux droit et un coin pour
pouvoir etirer mon tuyaux comme bon me semble en etirant le tuyaux
droit ( ._heigth ou ._width ) )
Les tuyaux ne peuvent etre place que sur un clip precedemment mis.
Pour le moment j arrive a placer le tuyaux sur un clip mais c tjs sur le dernier creer que vient ce mettre le tuyaux.
// Je concatene a chaque fois le nom du clip afin
de pouvoir en creer indefiniment, de meme pour la profondeur, j'entasse
tous mes clips dans un clip_cible. Ca me permet de ne pas avoir de
surprise avec les profondeurs, et de pouvoir facilement tt
remettre a zero si besoin est
info_objet._width = 33.9;
info_objet._height = 73;
// Je redimensionne mon clip
info_objet._x = _root._xmouse;
info_objet._y = _root._ymouse;
// Je positionne mon clip là où on a cliqué dans la zone
}
Maintenant je dois faire en sorte que si on clique avec le tuyaux,
celui ci ne peut s afficher que si on a clique sur un clip ( et pas
dans le vide ). De meme une fois qu on a cliqué avec le tuyaux sur un
clip, celui ci prend les coordonnees x et y du clip en question. Une
fois positionne, il doit s etirer et on doit aller cliquer sur un autre
clip pour l arreter.
Alors comment puis je lui determiner sur quel clip on a cliqué ?
J'ai essaye en mettant le code directement dans le clip pour la
detection du bouton, mais je n arrive tt de meme pas a avoir son nom.
// Le code se trouvant dans le clip en question,
lui meme dans le clip cible. et le cable etant dans un autre clip cible
mis au meme niveau, ca explique les "_parent" ... je prefere garder des
chemins relatifs car le fichier va etre load dans un autre par apres,
et les hierarchie changeront peut etre
// Ici j essaye de reprendre le nom du clip dans
le quel je me trouve, mais comme la variable_concatenation est
augmentée de 1 a chaque nouveau clip crée, si j'en crée deux, et que je
clique sur le premier, il ne me donnera le nom que du second :
nom_clip2 et pas nom_clip1 comme je le voudrais
}
}
Quelqu'un a t il une solution pour moi ? Ca urge un peu ... je dois
avoir fini ca et d autre truc pour fin du mois ... et bon, ca commence
a faire juste.
Si quelqu'un peut m expliquer comme recuperer les noms de clip généré dynamiquement, je l'en remercierai jamais assez
Merci d avance pour tt ceux qui essayeront et se creuseront avec moi les meninges