Accueil > Forum > > > > creation et suppression dynamique de clip [AS2]
creation et suppression dynamique de clip [AS2]
mardi 4 mai 2010 à 17:47:07 |
creation et suppression dynamique de clip [AS2]

mamelon04
|
Bonjour,
Après avoir longuement recherché sur le net et ne trouvant pas de solution ni même d'indication pouvant résoudre mon problème, je viens vous demander de l'aide.
problème : Je crée de façon dynamique (attacheMovie) un certain nombre de clip. Le problème se trouve lors de la suppression de ces clips.
le programme que j'écris consiste en une sorte de space invader avec un mouton et des loups...
Dans ma bibliothèque j'ai un clip nommé "ennemis".
pour créer les ennemis :
Code ActionScript :
function creaEnnemis(){
var i;
//on crée le nombre d'ennemis voulu :
for(i=1;i<=nbEnnemis;i++)
{
this._root.attachMovie("ennemis","loup"+i,_root.getNextHighestDepth());
//on l'affiche aux coordonnées suivantes :
_root["loup"+i]._x=Math.round(Math.random()*((xmax-30)-(xmin+30))+(xmin+30));
_root["loup"+i]._y=0;
}
}
Lors de la collision entre le mouton et un des loups, je veux bien entendu supprimer ce loup :
Code ActionScript :
function collision(){
// en cas de collision avec un loup on supprime le loup :
for(i=1;i<nbEnnemis+1; i++)
{
var loup =_root["loup"+i];
if(mouton.hitTest(loup))
{
trace("suppression du loup "+loup);
loup.removeMovieClip();
nbEnnemis --;
}
}
Voilà pour le code....
j'espère que vous pourrez m'aider....
|
|
mardi 4 mai 2010 à 18:37:06 |
Re : creation et suppression dynamique de clip [AS2]

BBFUNK01
|
Hello,
essaie ceci :
Code ActionScript : function collision(){
// en cas de collision avec un loup on supprime le loup :
for(i=1;i<nbEnnemis+1; i++)
{
var loup =_root["loup"+i];
if(mouton.hitTest(loup))
{
trace("suppression du loup "+loup);
removeMovieClip("loup"+i);//ou peut-être aussi "removeMovieClip(loup);
nbEnnemis --;
}
}
BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
|
|
mardi 4 mai 2010 à 20:32:07 |
Re : creation et suppression dynamique de clip [AS2]

mamelon04
|
Merci d'avoir répondu rapidement,
J'ai suivi ton conseil et ça ne fonctionne toujours pas....
le truc c'est que le nombre d'ennemis crée dépend du niveau où le joueur est rendu nbEnnemis = niveau * niveau.
les loup se deplace verticalement vers le bas.
je crée donc nbEnnemis loup.
au niveau 1 lorsque mon mouton touche le loup pas de problème il est bien supprimé.
au niveau 2, il y a alors 4 loups, lorsque je rentre en collision avec un loup il y en a un qui s'arrête....
je suis débutant et là je bloque vraiment...
|
|
mardi 4 mai 2010 à 20:55:40 |
Re : creation et suppression dynamique de clip [AS2]

BBFUNK01
|
hum... je pense que le problème vient du fait qu'il faut que tu réinitalises les "positions" des éléments contenus dans ton array qui gère les loups, c'est probablement à cause de ça que les loups qui doivent être supprimés, ne le sont pas à un certain niveau du jeu.
Que donne ton trace() dans ta fonction "suppression du loup" ? C'est par là qu'il faut creuser.
BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
|
|
mardi 4 mai 2010 à 21:14:22 |
Re : creation et suppression dynamique de clip [AS2]

mamelon04
|
Je n'utilise pas d'array.... (est-ce obligatoire ?)
Je viens d'avoir une idée après je sais pas si c'est vraiment ça dis mois ce que tu en pense :
lorsque je supprime un clip avec removeMovieClip, ce clip a une certaine profondeur admettons que j'en supprime un dont la profondeur est 2 est ce possible que ça affecte celui qui se trouve à la profondeur 3....
Peut être est-ce juste un problème de profondeur...
sinon le trace me renvoi "suppression du loup _level0.loup" avec après loup le numeros du loup.
|
|
mardi 4 mai 2010 à 22:21:49 |
Re : creation et suppression dynamique de clip [AS2]

BBFUNK01
|
Non ce n'est pas un problème de profondeur à priori, par contre en regardant ton code je remarque que tu commences ainsi : Code ActionScript : , mais tu ne définis pas "i" réellement, tes clips sont créés dynamiquement et dans ta boucle cela incrémente les valeurs de "i", par conséquent j'imagine qu'au fur et à mesure des clips supprimés ou ajoutés, on se retrouve avec des valeurs "i" présentes sur la scène sans ordre logique, j'entends par là que tu pourras te retrouver à un moment avec ces valeurs là pour "i" : 1,3,4,7,11... je ne sais pas si mon explication est très claire  , ce que je veux dire c'est que si tu stockes tes clips dans un array() lorsqu'ils sont attachés ou supprimés, tu auras peut-être plus de facilité à gérer ces clips, du fait qu'avec le code adéquat tu auras une suite croissante et ordonnée au niveau des valeurs de "i".
Par exemple :
Code ActionScript : function creaEnnemis(){
var i:Number = 0;
var TableauEnnemis:Array = new Array();
//on crée le nombre d'ennemis voulu :
for(i=0;i<=TableauEnnemis;i++)
{
this._root.attachMovie("ennemis","loup"+i,_root.getNextHighestDepth());
TableauEnnemis.push(i);
//on l'affiche aux coordonnées suivantes :
_root["loup"+i]._x=Math.round(Math.random()*((xmax-30)-(xmin+30))+(xmin+30));
_root["loup"+i]._y=0;
}
}
function collision(){
// en cas de collision avec un loup on supprime le loup :
if(mouton.hitTest("loup"+i))
{
trace("suppression du loup "+("loup"+i));
removeMovieClip("loup"+i);
TableauEnnemis.splice(i, 1);
}
}
BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
|
|
mercredi 5 mai 2010 à 10:57:32 |
Re : creation et suppression dynamique de clip [AS2]

mamelon04
|
Bonjour, merci pour ton explication pour ma variable de boucle "i".
Effectivement je pense avoir compris ce que tu m'a dit je vais donc opter pour la solution d'un array.
Cependant j'ai essayé ton code d'exemple pour commencer. Il semble que flash player n'apprécie pas du tout la boucle pour ainsi modifié dans la fonction creaEnnemis().... lorsque j'exécute l'animation (ou plutôt quand j'essai de l'exécuter), j'ai un message qui me dit en gros qu'un script présent dans l'animation ralenti flash player et que si je continu son exécution il se pourrait que mon ordi plante... J'ai quand même essayé et pour une fois le message d'erreur avait raison  mon ordi a planté pendant 5 minutes... et au final l'animation ne s'est même pas lancé...
Si tu vois à quoi cela est dû...
En tout cas merci pour ta patience envers le débutant que je suis.
|
|
mercredi 5 mai 2010 à 11:33:57 |
Re : creation et suppression dynamique de clip [AS2]

BBFUNK01
|
Hello,
mets ton code complet dans le post s.t.p. afin qu'on voit le tout de A à Z. Si tu souhaites m'envoyer ton fla pour que je regarde, fais-moi signe.
A plus,
BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
|
|
mercredi 5 mai 2010 à 11:47:35 |
Re : creation et suppression dynamique de clip [AS2]

mamelon04
|
je crois que je vais t'envoyer le .fla ça sera beaucoup plus simple.Enfin je pense...
Seulement je suis nouveau sur ce forum comment je dois procéder pour te l'envoyer ?
|
|
mercredi 5 mai 2010 à 13:11:42 |
Re : creation et suppression dynamique de clip [AS2]

BBFUNK01
|
Re,
je t'envoie mon adresse e-mail en pv, envoie moi le fichier à cette adresse. Je regarderai ce soir car je n'ai pas Flash sous la main.
A plus,
BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
|
|
Cette discussion est classée dans : code, suppression, clip, root, loup
Répondre à ce message
Sujets en rapport avec ce message
Je n'arrive pas à retouver le nom d'un clip dans un code [ par lodossgp ]
sté le: Dim Mai 23, 2004 8:45 pm Sujet du message: Problème actionscript Flash Bonjour, j'ai récupéré un tutoriel flash avec une partie code, pou
****URGENT****S.V.P !! [ par lezart ]
Bonjour a tous !...Mon probleme : j'ai trois boutons, avec trois clip invisible au depart... avec pour code sur chaque clip celui-ci :onClipEvent(load
propriétés d'un bouton sur un autre clip [ par HFanny ]
Bonjour à tous,j'utilise la fonction : createEmptyMovieClip pour créer un nouveau clip nommé buttons sur mon scénario, dans celui-ci, je load un certa
panorama, deplacement fluide [ par tiburse ]
Bonjour, On m'a donné un code pour un panorama, dans celui ci on peu se déplacer en 360°, c'est à dire que lorsqu'on place la souris à gauche de l'écr
Probleme : Collisions entre deux clip de même nom [ par Seydjinn ]
Bonjour j'avais envoyé une question il y a qq temps car je ne parvenais pas à générer un déplacement aléatoire multiple, graàce à l'aide d'Inaden j'ia
pb mise en place du code [ par fanatikx ]
Bonjour, Voici la situation:j'ai sur _root 2 calques, un nommé "menu" (sur lequel est placé le clip du même nom) et un calque action.Mon clip menu est
remove clip [ par BBFUNK01 ]
Bonsoir à tous, j'ai créé un clip chargé avec attachemovie, le clip est donc chargé lorsqu'on clique sur un bouton dans le menu. Dans le clip chargé s
Menu qui boude ses pages..... [ par polo59223 ]
Bonjour à tous, Nouveau sur le site, je vous livre mon premier post.... Dans le cadre de mon travail, je dois re-faire le site de ma boîte suite à u
Bouton dans un clip [ par biancadiane ]
Bonsoir, J'ai un clip qui contient un bouton, ce bouton permettrait dans l'idéal d'avancer dans la scène1 (stoppée sur la frame1) dans laquelle le cl
load en AS2 objet [ par carton99 ]
Bonjour, je n'arrive à faire crée un loading sur mon jeu . Tous d'abord le jeu est finit il est programmé en AS2 objet ,mais je doit crée un loading.
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|