ouvrir la poubelle(movieClip)

ouvrir la poubelle(movieClip) - Flash/ActionScript - Programmation

Marsh Posté le 25-01-2009 à 03:30:24    

Bon, je suis étudiante, dans mon cours de flash, je fais le programme suivant, mon code est presque terminé, mais je n'arrive pas a le finaliser, c'est toujours la meme feuille qui se sélectionne lorsque je veux draguer les feuilles vers la poubelle, et je dois faire jouer le MovieClip de la poubelle lorsque je relache la feuille dessus, j'apprécierais votre aide, merci.
 
 
//Variables pour la position initiale des feuilles
var posX:Number;
var posY:Number;
 
 
//Empêcher que la poubelle reçoive les événement de souris
function vide(event:MouseEvent):void {
 
}
poubelle_mc.addEventListener(MouseEvent.MOUSE_OVER, vide);
 
//Fonction descendreFeuille pour le déplacement des feuilles
function descendreFeuille(event:Event):void {
 //Animer la descente de la feuille
  var feuille:MovieClip = event.currentTarget as MovieClip;
 
 
 //Analyser si la feuille est tombée sur le sol
 if (sol_mc.hitTestPoint(feuille.x, feuille.y, true)) {
  //Si oui détruire le gestionnaire ENTER_FRAME
  feuille.removeEventListener(Event.ENTER_FRAME, descendreFeuille);
  // et assigner les gestionnaires MOUSE_DOWN et MOUSE_UP
  feuille.addEventListener(MouseEvent.MOUSE_DOWN, dragFeuille);
  feuille.addEventListener(MouseEvent.MOUSE_UP, stopDragFeuille);
 } else {
  feuille.y += 3 + Math.random()*7;
 }
}
 
//Attribution des écouteurs d'événement avec une boucle for
//pour l'animation de la descente des feuilles
for (var i:int=1; i<8; i++) {
 var feuille:MovieClip = this["feuille"+ i + "_mc"];
 feuille.addEventListener(Event.ENTER_FRAME, descendreFeuille);
}
 
//Fonction dragFeuille pour glisser les feuilles
function dragFeuille(event:MouseEvent) {
 
 //Retenir la position initiale de la feuille
 posX = feuille.x;
 posY = feuille.y;
 //Draguer la feuille
 feuille.startDrag(true);
}
 
//Fonction stopDragFeuille pour arrêter de glisser les feuilles
function stopDragFeuille(event:MouseEvent):void {
 
 //Analyser si la feuille est dans la poubelle
 if (poubelle_mc.hitTestPoint(feuille.x, feuille.y, true)) {
 //Si oui, ouvrir la poubelle
 poubelle_mc.removeEventListener(MouseEvent.MOUSE_OVER, vide);
 //et faire un fade-out sur la feuille et détruire les gestionnaires
 }
 //Sinon, remettre la feuille à sa place initiale
 else {
  feuille.x = posX;
  feuille.y = posY;
 }
 
}


Message édité par debutante26 le 25-01-2009 à 03:32:33
Reply

Marsh Posté le 25-01-2009 à 03:30:24   

Reply

Marsh Posté le 30-01-2009 à 04:21:54    

Le probleme ici, est que tu utilises toujours 'feuille', qui correspond au dernier clip cree dans boucle for (a vue de pif 'feuille7_mc').
Ce qui est amrrant c'est que le code necessaire est dans une fonction mais pas dans les autres.
Bref, il faut que tu mettes cette ligne partout ou la fonction recoit un event de souris:
var feuille:MovieClip = event.currentTarget as MovieClip;  


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Sujets relatifs:

Leave a Replay

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