cs_michto
Messages postés79Date d'inscriptiondimanche 26 octobre 2003StatutMembreDernière intervention11 août 2005
-
29 juin 2005 à 17:46
cs_bali_balo
Messages postés1378Date d'inscriptionsamedi 9 octobre 2004StatutMembreDernière intervention 1 novembre 2010
-
11 oct. 2005 à 12:59
Salut,
J'utilise pour la premiére fois "duplicateMovie" et je rencontre quelque soucis :
Lorsque je duplique un movieClip "parent" (qui contient d'autre
clip...), cela fonctionne, mais en mode debug, la hierarchie interne
des clips dupliqués est vide (quand je regarde dans la fenêtre de
debugger). Pour autant, dans le code, il est parfaitement possible de
modifier une propriétée d'un sousClip (donc les sousClips existent,
mais ils n'apparaissent pas dans la structure du swf ??? Pas facile le
debug !!).
Plus embétant, si je duplique un clip contenant :
- une image chargée via loadMovie
- un clip crée avec createEmptyMovieClip / attachMovie
=> la duplication ne marche pas (le nouveau clip est vide !! ou
pire, dans le premier cas aucun clip n'est créé!!). Et cette fois un
accés aux propriétées des objets censés être là se solde par un echec
"undefined"....Et puis visuellement on voit bien que les nouvelles
occurences sont vides... (nb : Je suis sûr de la construction de tous mes
clips parent avant le duplicate).
Je suis dubitatif . (et je bosse en AS1 pour info...)
cs_bali_balo
Messages postés1378Date d'inscriptionsamedi 9 octobre 2004StatutMembreDernière intervention 1 novembre 20101 29 juin 2005 à 18:41
Premièrement : vérifie bien les accès aux clips ( est-ce : _parent, clip1.clip2..... , sinon pour etre sur, utilise le chemin absolue _root )
Deuxièment : Lorsque tu DUPLIQUE tes clips, fait ATTENTION de bien redéfinir leurs propriétés (genre _x et _y..., c'est peut être sa la cause... à mon humble avis )
Troisièment : c'est tout!!!
LE SEUL PROBLEME POSSIBLE VIENT DES CHEMINS( _root, etc...)
FAIT B E A U C O U P DE TEST AVEC TRACE();
QUE TU VOIT UN PEU SI SA APPARAIT OU PAS DEJA.....
cs_michto
Messages postés79Date d'inscriptiondimanche 26 octobre 2003StatutMembreDernière intervention11 août 2005 29 juin 2005 à 19:57
Yep,
Une chose m'interoge : " bien redéfinir leurs propriétés genre _x
et _y...". Glups... Quand je duplique un clip il faut que je recrée les
propriétée natives ???. (pas d'héritage ????). Ou c'est juste leur
donner un valeur précise...
Mais j'aurais du mettre du code dés le départ (désolé). Donc en
simplifiant au maximum et en utilisant des réferences absolues comme
conseillé :
(sur la scéne, un clip "forme" qui contient un clip vide nommé "vide" et un clip "rond" qui contient un rond).
_root.forme.duplicateMovieClip("forme2", 10);
trace(_root.forme.vide._x);
trace(_root.forme2.vide._x);
Le code fonctionne bien (à part que dans le debugger, "forme" présente
une structure correcte, avec "vide" et "rond", alors que "forme2" rien
!! Passons...)
Maintenant, on retire (manuellement) l'occurence "vide" de "forme", et on ajoute au début du code :
_root.forme.createEmptyMovieClip("vide", 1);
Et ben c'est fini... ça marche pu ! trace(_root.forme2.vide._x) renvoie "undefined".
J'ai fait des tests simples comme ça avec attach et load... et ça foire aussi...
Donc la question : es ce que quelqu'un a déjà utilisé duplicate sur
autre chose qu'un clip déjà présent sur la scéne ?? Et en particulier
sur un clip "chargé" ?
cs_bali_balo
Messages postés1378Date d'inscriptionsamedi 9 octobre 2004StatutMembreDernière intervention 1 novembre 20101 29 juin 2005 à 22:46
Glups... Quand je duplique un clip il faut que je recrée les propriétée natives ???. (pas d'héritage ????).
Les occurences créées manuellement ou par AS HERITENT de la transformation de leurs clips parents( enfin la source quoi, pour pas se trompé avec _parent )
Par contre, la seule chose à faire( enfin du moins ), c'est de déplacer ton clip créer ( que cela devienne un réflexe si tu ne veut pas avoir de mauvaises surprises....)
Je dis cela par prudence, car il se peut que le MVclip ce créer PAR DESSUS le clip parent...
( donc le déplacement, c'est juste pour vérifier qu'il est là, sinon....pas besoin! )
Excuse moi pourt'avoir dis d'utiliser une référence ABSOLUE!!!
je me suis trompé avec une autre fonction...
EXEMPLE POUR COMPRENDRE LA FONCTION :
balle1.duplicateMC( "balle2" , 1 );
Ceci créer une copie de la balle "balle1" et LE PLACE DANS LE CLIP _PARENT !!!!!!!!!!!!!!
_root.forme.createEmptyMovieClip("vide", 1); //par contre sa c'est bon...
cs_michto
Messages postés79Date d'inscriptiondimanche 26 octobre 2003StatutMembreDernière intervention11 août 2005 30 juin 2005 à 13:32
'lut, et merci de t'être donné la peine, bali-balo ( lol, j'ai la
musique qui revient dans la tête... "Bali-Balo dans son berceau..." et
j'irais pas plus loin. ;)
Concernant l'héritage, j'ajouterais que toute occurence (en fait un
objet issu d'une classe) héritent des propriétées et des méthodes de
cette classe. Mais que fait exactement la fonction duplicate ??
Le changement de la position de la copie ne fait pas partie du code
joint pour pas polluer, car c'est pas le probléme. (mais j'y avais
pensé...) .
Les réference absolue ou relative ne change rien au probléme...
Et enfin, la fonction duplicate c'est bon. Je sais l'utiliser avec un
clip posé sur la scéne y a pas de soucis (et j'ai bien intégré la
hiérarchie : il crée le nouveau clip au même niveau que le clip
"souche"...C'est son frére...)
Et l'erreur il me semble qu'elle est ciblée... (en tout cas je peux pas
faire mieux!). L'exemple est simple (donc facilement reproductible).
Je suis trés étonné que personne d'autre que B-B ne puisse répondre...
JE SOUHAITERAIS JUSTE QU'ON ME CONFIRME QUE JE SUIS UNE BUZE LORSQUE JE NE PARVIENS PAS A DUPLIQUER UN CLIP CHARGé !!!
(et donc qu'on m'explique les dysfonctionnements décrits plus haut).
Enfin, j'ai laché l'affaire (j'intégre l'image au SWF) et j'utilise des
attach pour créer tous mes clips. Je laisse la question au cas
ou...mais sans grand espoir.
Ciao.
Vous n’avez pas trouvé la réponse que vous recherchez ?