chemin dynamique vers un clip: _root["carre"+i+"_mc"]

chemin dynamique vers un clip: _root["carre"+i+"_mc"] - Flash/ActionScript - Programmation

Marsh Posté le 04-10-2005 à 16:34:34    

quand les clips sont au niveau root, rien de plus simple:

Code :
  1. for (i=1;i<=10;i++) {
  2.    _root["carre"+i+"_mc"]._x = Math.random()*Stage.width;
  3.    _root["carre"+i+"_mc"]._y = Math.random()*Stage.height;
  4. }


et voila vos dix carré sont repartis sur la scene!
 
mais si on veut manipuler des clips qui sont dans un sous clips appellé main_mc par exemple, comment faire ?
 
j'ai essayé:

Code :
  1. _root.main_mc["carre"+i+"_mc"]._x
  2. main_mc["carre"+i+"_mc"]._x
  3. _root["main_mc.carre"+i+"_mc"]._x
  4. _root["carre"+i+"_mc"]._x


mais rien de tout ca ne fonctionne :(  
peut être que c'est pas possible...


Message édité par mechkurt le 04-10-2005 à 16:35:06

---------------
D3
Reply

Marsh Posté le 04-10-2005 à 16:34:34   

Reply

Marsh Posté le 05-10-2005 à 09:22:36    

:bounce: du matin...
 
...chagrin


---------------
D3
Reply

Marsh Posté le 05-10-2005 à 12:07:34    

En effet, je viens de tester... au niveau root ça marche bien mais au niveau d'un sous-clip ça provoque carrément des erreurs ! Bizarre pourtant que ce soit impossible, ce serait bien dommage.

Reply

Marsh Posté le 05-10-2005 à 14:35:29    

J'y comprend plus rien, maintenant ça marche !
 
Essaye mon exemple pour voir si c'est ce que tu cherchais à faire :
 
Edit: suppresion du lien


Message édité par malicious le 05-10-2005 à 17:21:07
Reply

Marsh Posté le 05-10-2005 à 15:11:14    

peut pas ouvrir ton fichier (format de fichier inattendu) t'utilise Flash 8 ?
sinon copie ton code sur le forum...


---------------
D3
Reply

Marsh Posté le 05-10-2005 à 15:40:04    

Non, c'était la version 7

Reply

Marsh Posté le 05-10-2005 à 16:38:34    

Flash mx 2004 ?
comprend pas!
t'as mis quel code alors pour que ca marche ?


---------------
D3
Reply

Marsh Posté le 05-10-2005 à 17:22:10    

Flash mx 2004 v.7
J'ai mis ce code là :
 
Sur la scène j'ai le clip "main" qui contient les clips "clip1", "clip2"...
 
A partir de main :

Code :
  1. for(i=1;i<=6;i++){
  2. this["clip"+i]._x=Math.random()*Stage.width;
  3. this["clip"+i]._y=Math.random()*Stage.height;
  4. }


A partir de _root:

Code :
  1. for(i=1;i<=6;i++){
  2. main["clip"+i]._x=Math.random()*Stage.width;
  3. main["clip"+i]._y=Math.random()*Stage.height;
  4. }


 
 

Reply

Marsh Posté le 05-10-2005 à 18:55:32    

ouais ca marche...
 
...mais pas aussi bien que je l'aurais esperé...
 
en fait j'essaye d'aider jycsd qui aurait besoin d'importer des elements d'un swf depuis un autre...
http://forum.hardware.fr/hardwaref [...] 7784-1.htm
 
le PB c'est que duplicateMovieClip ne semble pas fonctionner
si vous voulez voir ce que j'ai fait et/ou tester ca se passe la:
http://mbillonlanfrey.free.fr/essais/


---------------
D3
Reply

Marsh Posté le 05-10-2005 à 19:23:32    

Je venais justement d'essayer duplicateMovieClip et à part me faire tout planter j'ai pas encore vu toutes les possibilités de cette fonction...

Reply

Marsh Posté le 05-10-2005 à 19:23:32   

Reply

Marsh Posté le 06-10-2005 à 10:13:01    

ca plante pas mais ca ne marche pas non plus...
on peut atteindre les clips (cf dossier essais plus haut) mais impossible de les dupliquer ou de les attacher...


---------------
D3
Reply

Marsh Posté le 06-10-2005 à 17:28:27    

duplicateMovieClip plante chez moi...
Je me panche sur le problème, mais c'est galère :(
En tout cas merci pour tout à vous deux...


Message édité par jycsd le 06-10-2005 à 17:32:52
Reply

Marsh Posté le 06-10-2005 à 17:39:57    

je comprend pas que DuplicateMovieClip fassent planter l'anim chez vous deux ?!
enfin ca n'aide pas beaucoups...
 
j'ai laché une bouteille a la mer sur la livedoc mais j'ai peu d'espoir ;-)
http://livedocs.macromedia.com/fla [...] 01649.html


---------------
D3
Reply

Marsh Posté le 06-10-2005 à 19:12:34    

Ben j'ai retesté DuplicateMovieClip et maintenant il marche. J'ai plus l'exemple d'hier qui faisait tout planter pour le comparer mais de mémoire c'était la même chose... Bref, désormais il marche bien même avec les sous clips :)

Reply

Marsh Posté le 06-10-2005 à 19:47:13    

encore une fois, si ca marche, peut tu poster le code SVP...
t'as essayé ce que j'ai mits en ligne ?


---------------
D3
Reply

Marsh Posté le 06-10-2005 à 20:41:46    

En reprenant mon code précédent (à partir de _root) j'ai rajouté:
 

Code :
  1. main["clip"+id].duplicateMovieClip("clone", main.getHighestDepth(), {_x:0, _y:0, _alpha:50});


ça clone le clip n° id et le place en 0,0 et semi-transparent

Reply

Marsh Posté le 07-10-2005 à 08:51:47    

la seul difference avec mon code c'est ca: main.getHighestDepth()
ca change tout quoique j'utilisais une profondeur libre...
mais la implicitement on confirme qu'il faut dupliquer dans le clip main...
 
y'aurait il moyen de le copier mais sur le _root?
 
j'essayerai d'implementer ca dans mon exemple en ligne...


---------------
D3
Reply

Marsh Posté le 07-10-2005 à 12:49:41    

bon j'ai remis en ligne la derniere version ici:
http://mbillonlanfrey.free.fr/essais/
 
dans les grandes lignes ca marche:
http://mbillonlanfrey.free.fr/essais/loader.swf
 
mais suivant ce que jycsd souhaite faire il peut etre handicapant de ne pouvoir copier les éléments sur le _root...
 
merci a Malicious pour son aide


---------------
D3
Reply

Marsh Posté le 11-10-2005 à 22:13:36    

Merci Mech et Malicious ^^
 
J'ai enfin le temps de voir ton fla Mech, j'y suis depuis 21h30 et c'est super cool ce que t'as fait ^^
C'est simple, clair, et y'a même un débug mode !
 
C'est vrai qu'on a pas souvent les même termes, et j'ai sûrement les moins bons. Tu m'as dit par MP ne pas savoir ce que j'appelais "scroller", en fait c'est ça :
http://www.ultrashock.com/ff.htm?h [...] d/112.html
(sauf que le miens est droit, et que j'espère charger les tiles dans les cases)
 
Donc sur ton fla, j'ai commencé par mettre mon scroller sur la scène et à essayer de charger les tiles dedans. J'ai vu à la fin de ton scrypt frame 5 :
 

Code :
  1. my_mcl.addListener(myListener);
  2. _root.createEmptyMovieClip("tiles_mc", 1);
  3. my_mcl.loadClip("tiles.swf", tiles_mc);


 
J'ai donc remplacé la deuzième ligne par :

Code :
  1. _root.createEmptyMovieClip("tiles_mc", "tiles_mc", 1);


 
Puis dans les paramètres de mon scroller j'ai mit à "scrollContent", "hScroll" et "vScroll" : "tiles_mc".
 
-> Test du swf... Le scroller n'affiche rien
 
Donc j'ai un doute... Je retourne chercher.
 
Merci de me supporter ^^


Message édité par jycsd le 11-10-2005 à 22:17:16
Reply

Marsh Posté le 12-10-2005 à 16:11:27    

Mechkurt, tu sais si c'est possible ?

Reply

Marsh Posté le 12-10-2005 à 16:38:56    

je suis pas aller telecharger ton truc, (faut s'inscrire), et j'aia pas compris et/ou trouvé de démo, de quoi ca parle?


---------------
D3
Reply

Marsh Posté le 12-10-2005 à 17:02:40    

ah
 
Tiens regarde, ça c'est mon scroller quand il marche (mais en un seul fichier :( )
http://img424.imageshack.us/img424 [...] 1588nu.jpg
 
ou
 
http://img424.imageshack.us/img424 [...] 1597rr.jpg


Message édité par jycsd le 12-10-2005 à 17:03:53
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed