Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // J'ai essayé la méthode du prof mais j'ai des soucis avec l'arrêt/relance de la balle ...
- var barreG:MovieClip = new Barre();
- var barreD:MovieClip = new Barre();
- var balle:MovieClip = new Balle();
- balle.x=stage.stageWidth*25/100+barreG.width/2+balle.width/2;
- balle.y=stage.stageHeight/2;
- addChild(balle);
- var sens:Boolean=false; // false = déplacement vers la droite, true = déplacement vers la gauche
- barreG.x=stage.stageWidth*25/100;
- barreG.y=stage.stageHeight/2;
- barreD.x=stage.stageWidth*75/100;
- barreD.y=stage.stageHeight/2;
- addChild(barreG);
- addChild(barreD);
- stage.addEventListener(Event.ENTER_FRAME, deplacementD);
- stage.addEventListener(MouseEvent.CLICK, arret);
- function arret(e:MouseEvent):void {
- stage.removeEventListener(Event.ENTER_FRAME, deplacementD); // On vire tous les déplacements qui pourraient avoir lieu
- stage.removeEventListener(Event.ENTER_FRAME, deplacementG);
- stage.addEventListener(MouseEvent.CLICK, relance);
- }
- function relance(e:MouseEvent):void {
- // On regarde quel était le dernier état du booléen pour relancer la balle dans le même sens qu'elle avait avant
- if (sens) {
- stage.addEventListener(Event.ENTER_FRAME, deplacementD);
- trace(sens);
- }
- else {
- stage.addEventListener(Event.ENTER_FRAME, deplacementG);
- trace(sens);
- }
- }
- function deplacementD(e:Event):void {
- if (!sens) {
- balle.x += 5;
- if (balle.x >= (barreD.x - barreD.width/2 - balle.width/2)) {
- // Si on rentre ici c'est que la balle est arrivée jusqu'à la barre de droite.
- // Donc on enlève l'eventListener qui fait que la balle se déplace vers la droite (ENTER_FRAME) pour rajouter
- // un eventListener qui la fera partir vers la gauche
- sens=true;
- stage.removeEventListener(Event.ENTER_FRAME, deplacementD);
- stage.addEventListener(Event.ENTER_FRAME, deplacementG);
- }
- }
- }
- function deplacementG(e:Event):void {
- if (sens) {
- balle.x-=5;
- if (balle.x <= (barreG.x + barreG.width/2 + balle.width/2)) {
- // Pareil qu'au-dessus mais dans l'autre sens
- sens=false;
- stage.removeEventListener(Event.ENTER_FRAME, deplacementG);
- stage.addEventListener(Event.ENTER_FRAME, deplacementD);
- }
- }
- }
Add Comment
Please, Sign In to add comment