Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : probleme de colision [ Divers / Débutant(e) ] (Miss1)

dimanche 18 novembre 2007 à 16:17:24 | probleme de colision

Miss1

Bonjour mon test de collision fonctionne a merveille mais l'inconvénient c'est que c'est que dès qu'il y a la collision le joueur ne peut plus revenir en arriere.. si quelqu'un pouvais m'aider a résoudre le probleme


var deplacement = 1;
var vitesse = 5;

//this le clip parent à l'objet, c'est à dire l'image dans laquelle nous avons mis notre perso
//personnage est le nom de votre occurrence 
//onEnterFrame = function() dit à Flash d'executer ce qu'il y aura apres à chaque image

this.personnage.onEnterFrame = function() {
        if(deplacement) {
  //En fait, au lieu d'avancer le personnage d'un nombre équivalent
  //à la valeur de la vitesse, on va l'avancer d'un pixel,
  //mais autant de fois que la valeur vitesse nous l'indiquera.
  //On va utiliser une boucle for, qui s'exécutera "vitesse" fois,
  //dans laquelle nous ferons avancer notre personnage d'un pixel,
  //puis dans cette même boucle on vérifiera si le personnage peut toujours avancer.

                if(deplacement) {
                for(i=0; i<vitesse; i++) {
     // Hittest pour l'obstacle de droite si obstacle arreter
                        if(this.hitTest(_root.obstacle)) {
                                deplacement = 0;
         }
      
  // le Key.isDown(...) c'est si on appuye sur une touche
  //Key.RIGHT c pour dire d'allais à gauche et LEFT à droite
      
                      
                        if(Key.isDown(Key.RIGHT) && deplacement) {
                                this._x += 1;
                        }
      

      //hittest pour obstacle de gauche
      
        if(this.hitTest(_root.obstacle1)) {
                                deplacement = 0;
         }
      
  // le Key.isDown(...) c'est si on appuye sur une touche
  //Key.RIGHT c pour dire d'allais à gauche et LEFT à droite
      
                      
                        if(Key.isDown(Key.LEFT) && deplacement) {
                                this._x -= 1;
                        }

      
                }
        }
}
}


  Miss1


lundi 19 novembre 2007 à 15:18:44 | Re : probleme de colision

faiblard

//Key.RIGHT c pour dire d'allais à gauche et LEFT à droite

Si tu pouvais écrire un minimum français sans abréviation dans tes commentaires ca serais bien...

Au passage Key.RIGHT c'est pour dire d'allez a gauche?? En anglais => left = gauche et right= droite...

-------------------------------------------------------------------
La recherche est ton amie ! Promis elle ne te mordra pas...
Enjoy
Don't forget accept

lundi 19 novembre 2007 à 17:25:06 | Re : probleme de colision

Miss1

merci pour ton explication mais ces sont de commentaires que j'ai fais à l'araché. En tous cas sa ne répond toujour pas à ma question

 Miss1


mardi 20 novembre 2007 à 00:54:22 | Re : probleme de colision

faiblard

Juste comme ca :
Tu as encore fait ca a l'arraché ou non?

if(deplacement) {
  //En fait, au lieu d'avancer le personnage d'un nombre équivalent
  //à la valeur de la vitesse, on va l'avancer d'un pixel,
  //mais autant de fois que la valeur vitesse nous l'indiquera.
  //On va utiliser une boucle for, qui s'exécutera "vitesse" fois,
  //dans laquelle nous ferons avancer notre personnage d'un pixel,
  //puis dans cette même boucle on vérifiera si le personnage peut toujours avancer.

                if(deplacement) {

Ta deux fois de suite if déplacement... Faudrais m'expliqué l'utilité... Ou alors si apres ta tous fais a l'arraché on peu pas faire grand choses pour toi...

Ensuite tu as 4 if a la suite c'est lourd... A mon avis on peu au moins en remplacer un ou 2 par des else if ce qui sera toujours ca d'optimiser...

Tu utilise des this. et des _root... essaye de tout mettre en relatif ou tout en absolu mais mélanger les 2 c'est pas top...


Enfin pour ton probleme que le joueur ne peu plus bouger apres une colision (bah quoi faudrais peut etre enfin que je te dise pourquoi...)
Si on réfléchis plus que 2 secondes : tu a en test a tout début de ton onEnterFrame :

if(deplacement) {...}

Donc il faut que ton boolean sois vrai or une fois contact tu le passe a 0...
Si tu le repasse jamais a 1, ton jeu tournera toujours mais flash zappera toute ta parenthese apres le if donc plus de mouvement du tout

Pour finir le coup du j'avance pixel par pixel ca fait pas un peu saccader?

-------------------------------------------------------------------
La recherche est ton amie ! Promis elle ne te mordra pas...
Enjoy
Don't forget accept

mardi 20 novembre 2007 à 17:22:10 | Re : probleme de colision

Miss1

Merci de tes indications sa fonctionnes parfaitement .
en se qui concerne le pixel par pixel sa sacade au bout d'un moment car en plus je fais tomber de boule sur le personnage de facon alléatoire. Quel methode me conseillerai tu?

 Miss1


mardi 20 novembre 2007 à 17:25:17 | Re : probleme de colision

faiblard

HUm je sais pas trop mais regarde du coté des jeux de voiture au pire... (je sais qu'on avais poser une source ou l'as et de moi (c'etait mes début...))
Inspire toi du mouvement des voiture et adapte ca devrais moins sacadé je suppose...

-------------------------------------------------------------------
La recherche est ton amie ! Promis elle ne te mordra pas...
Enjoy
Don't forget accept



Cette discussion est classé dans : key, personnage, vitesse, deplacement, if


Répondre à ce message

Sujets en rapport avec ce message

collisions bourrines et coordonnées [ par kin4n ] Bonjour, je débute sous flash et j ai bien des misères à comprendre le systeme de parentage et d appel des hierarchies dans le code. Alors voici un co Changement de touche de direction [ par Kid1er ] Bonjour ^^ J'ai crée un petit jeu, mais je suis bloqué C'est un jeu pour 2 joueurs, mais le problème est que je n'arrive pas à changer les touches dir Jeu flash probleme 3 touches clavier en meme temps [ par cannadou ] Déjà Bonjours,j'ai un problème sur mon jeu flash - quand je presse (flèche du haut) mon perso avance- quand je presse (flèche de droite ou gauche) mon HELP!!! pour mon jeux flash ! [ par snakeeater1 ] bonjour voila g un big pb :au début j'ai une bestiole ( un clip ) que je fait ce déplacer comme sa :onClipEvent(load){_root.vitesse = 0;} onClipEvent( mon perso ne s'arret jamais de courrire... [ par bloodnail ] bonjour,j'ai commencer un nouveau jeux d'aventure au style Double Dragon au nes.voici le script que jai mis sur mon perso :--------------------------- Problème avec une boucle for. [ par catousa ] <link rel="Fi déplacer images [ par JCpp ] <?xml:namespace dupliquer un clip et ses fonctions [ par nat74 ] Bonjour.J'ai créé des clips que l'on peut déplacer dans tous les sens par drag and drop, quel'on peut faire tourner avec   les flèches du clavier et q un jeu qui fait mal [ par jerrrrrry ] salut, j'aimerais faire un petit jeu avec un marteau guidé au clavier qui doit tapper sur  "prix" écrit en toute lettres. le marteau se contrôle avec


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.