Forums Développement Multimédia

Aller au contenu

as2 bonus de jeux

CODE

4 réponses à ce sujet

#1 gregoriux

    Ceinture Orange

  • Members
  • PipPipPip
  • 45 messages

Posté 19 August 2011 - 18:24 PM

bonjour

j aimerais ajouter un bonus a mon jeux flash casse brique
une balle bonus qui traverse les briques sans ricocher sur elle meme

onClipEvent(enterFrame) {
       
       

        if (_root.balle.hitTest(this.bas))
                                _root.balle.deltaY = Math.abs(_root.balle.deltaY);
        else if (_root.balle.hitTest(this.haut))
                                _root.balle.deltaY = -Math.abs(_root.balle.deltaY);

if (this.hitTest(_root.balle)) {
               
                touche.start();
               
               
                }
                this.removeMovieClip();

 


sachant que le clip balle se transforme en bonus j avais esseyer plusieur test avec :

if (this.hitTest(_root.balle._currentframe==31)) {
               
                touche.start();
               
               
                }
                this.removeMovieClip();
 



ou

if (_root.balle._currentframe==31.hitTest(this.bas))

sans succée
si vous pouvez m orienter ca serais sympas merci d avance

greg

#2 St4n

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 98 messages

Posté 20 August 2011 - 10:01 AM

Bonjour,

Mon premier jeu était un casse brique, je l'avais programmé dans le style.

Depuis je l'ai entièrement refait, et j'ai appris entre autre à bannir le hitTest pour ce genre de jeu. (très lourd en terme de ressources, préférer le getPixel)


Si le fonctionnement hors bonus c'est :
if (this.hitTest(_root.balle)) {
               
                touche.start();
               
               
                }
 

Et que la balle bonus est en fait l'image 31.

Alors le code pour ne pas executer touche.start avec les balles bonus serait :
if (this.hitTest(_root.balle)&&_root.balle._currentframe!=31) {
               
                touche.start();
               
               
                }
 


#3 gregoriux

    Ceinture Orange

  • Members
  • PipPipPip
  • 45 messages

Posté 20 August 2011 - 11:42 AM

bonjour tout d abord je tien a vous remercier de votre attention pour mon project

en ce qui concerne le code il me semble avoir deja esseyer ce scrip mais sans succer donc sois j avais fait 1 erreur ou sois je l avis mal placer

mais je pensse que ce script si je me trompe pas dit

si il y a hitTest avec la balle ET QUE la balle et dans la frame courante 31

donc ce script ne foctione que si la balle et en currentframe 31 mais ne fonctionne pas si elle est en position normale

faudrais plutot un code qui dit que si il y a hittest avec la balle OU QUE la balle est en frame courante 31

j avais aussi esseyer de mettre or thi HitTest

donc en faite je suis un peut perdu

:?

#4 gregoriux

    Ceinture Orange

  • Members
  • PipPipPip
  • 45 messages

Posté 20 August 2011 - 12:20 PM

oups

desoler pastilas

je vien de relire et il me semble que que je me suis mal esprimer ou tu ma mal compris

Citation

Alors le code pour ne pas executer touche.start avec les balles bonus serait :
if (this.hitTest(_root.balle)&&_root.balle._currentframe!=31) {

touche.start();


}


mais en faite non au contraire je veut executer en balle bonus :


 touche.start();
               
               
                }
                this.removeMovieClip();
 

ce que je ne veut plus c est quelle rebondisse sur les briques mais quelle les fait disparaitre quand la balle est en bonus donc currentframe==31


mais il y a deja ce code pour la balle en etat normal:

if (_root.balle.hitTest(this.bas))
                                _root.balle.deltaY = Math.abs(_root.balle.deltaY);
        else if (_root.balle.hitTest(this.haut))
                                _root.balle.deltaY = -Math.abs(_root.balle.deltaY);

:oops:

#5 gregoriux

    Ceinture Orange

  • Members
  • PipPipPip
  • 45 messages

Posté 20 August 2011 - 17:00 PM

:Hola:


apres plusieur essais et encore 1 apres midi passer dessus j ai enfin reussi

ou presque

en tout cas merci quand meme car ca ma permis de savoir que ce code pouvais fonctionner et que je ne fesais pas fausse route !

vouci un petit detail de ce script :


onClipEvent(enterFrame) {
       
        if (_root.balle.hitTest(this.bas)&&_root.balle._currentframe!=31)
       

        if (_root.balle.hitTest(this.bas))
                                _root.balle.deltaY = Math.abs(_root.balle.deltaY);
        else if (_root.balle.hitTest(this.haut))
                                _root.balle.deltaY = -Math.abs(_root.balle.deltaY);

 


il me reste plus qu a le faire pour tout les autre clip de la brique malheuresement

en tout cas si vous avez des autre idée comme pour simplifier ce script n esitez pas
merci d avance
et bonne continuation a tous
greg



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)