begin process at 2012 02 10 11:37:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Divers

 > 

Débutant(e)

 > 

probleme de colision


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme de colision

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ée 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 :--------------------------- déplacer images [ par JCpp ] <?xml:namespace Interactions personnage et décor, HELP NEEDED! [ par ritalounet ] Bonjour à tous, je suis nouveau sur ce site qui jusqu'à maintenant m'a bien aidé (merci donc!). Je bosse actuellement sur la conception d'un site sur Problème avec une boucle for. [ par catousa ] <link rel="Fi [Probleme] Deplacment personnage [ par Sacrifire ] Bonjour a tous, voila, je suis debutant flash et je me pose des questions sur le deplacement d'un personnage , j'ai reussi a faire un personnage et de


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales