|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 60 ![]() |
Bonsoir,
Comme son nom l'indique déjà, j'ai un problème dans la gestion de l’événement de saut de mon personnage .(il s'agit d'un jeu du même principe que Mario a peu prés ...) Bon après quelques recherches, je suis tombé sur des formules vraiment compliquée, du genre gravité 9. ... et la vitesse etc ... J'aimerais bien une formule assez simple pour résoudre ce problème, sinon une explication de la notion de gravité et de la solution sur le net. Merci énormément . |
|
|
00
|
|
|
#2 | |||
![]() ![]() ![]() ![]() Alexandre LaurentIngénieur développement logiciels Inscription : mai 2008 Messages : 10 381 ![]() |
Bonjour,
Une solution simple ? Pendant l'état de saut, vous faites : Citation:
Citation:
Sinon, on peut utiliser un sinus pour que ce soit plus beau : Citation:
N'hésitez pas à poser des questions, sur des points précis de cette dernière méthode
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi ![]() La rubrique a aussi un blog ! Ma page sur DVP Mon Portfolio Qui connaît l'erreur, connaît la solution. |
|||
|
10
|
|
|
#3 | ||
|
Membre Expert
![]() Inscription : mars 2011 Messages : 531 ![]() |
Salut,
Une implémentation très grossière du PFD (principe fondamentale de la dynamique) donnerait: Au moment du saut, on met les conditions initiales : Citation:
Citation:
Et on arrête ça lorsque le perso revient sur terre (lorsque position <= 0). A toi d'ajuster la vitesse initial et la gravité pour avoir le mouvement que tu souhaite.
__________________
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer. - Antoine de Saint-Exupéry |
||
|
|
10
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 60 ![]() |
Merci pour le conseil, je tacherais d'essayer cette technique et je vous informe sur les difficultés .
|
|
|
00
|
|
|
#5 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 60 ![]() |
Citation:
Je voulais dire autrement quoi mettre dans le temps du saut, ethauteur du perso ? Citation:
Moi qui cherche une solution basique du saut |
||
|
|
00
|
|
|
#6 |
![]() ![]() ![]() ![]() Alexandre LaurentIngénieur développement logiciels Inscription : mai 2008 Messages : 10 381 ![]() |
En théorie, vous avez une classe ou une structure pour le joueur. Lorsque vous arrivez dans la fonction handleInput() et que vous repérez le saut, vous allez changer l'état du joueur (disons que c'est une machine à état) en JOUEUR_SAUTE (par exemple). Du coup, dans la fonction de mis à jour (update) du joueur, selon l'état vous allé commencer à appliquer les changements adéquats.
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi ![]() La rubrique a aussi un blog ! Ma page sur DVP Mon Portfolio Qui connaît l'erreur, connaît la solution. |
|
10
|
|
|
#7 | |||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 60 ![]() |
Citation:
Voila le code : Code :
|
|||
|
|
00
|
|
|
#8 | ||
|
Nouveau Membre du Club
![]() ![]() Inscription : avril 2012 Messages : 16 ![]() |
Une solution très simple et vraiment efficace à mettre en place avec du code fait vite fait :
Code :
|
||
|
|
10
|
|
|
#9 | |||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 60 ![]() |
Citation:
En fait je travaille avec les 2 Evénements (keydown et keyup). Je ne vois pas quoi mettre dedans suivant l'architecture de ton code . |
|||
|
|
00
|
|
|
#10 | |||
|
Nouveau Membre du Club
![]() ![]() Inscription : avril 2012 Messages : 16 ![]() |
Citation:
Code :
|
|||
|
|
10
|
|
|
#11 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 60 ![]() |
Je vais utiliser ce code, et c'est tres aimable de votre part de m'envoyer votre code, je vais l'analyser aussi, je cree un jeu en 2D du genre mario aussi ...
Merci !
|
|
|
00
|
|
|
#12 | |||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 60 ![]() |
Citation:
|
|||
|
|
00
|
|
|
#13 |
|
Nouveau Membre du Club
![]() ![]() Inscription : avril 2012 Messages : 16 ![]() |
Tu as bien mis le "player.vy += gravity;" ?
Concernant les mouvements pas assez fluide, il faut que gravity soit un float et non un int comme je l'ai fait. Quand à la variable time, il s'agit d'un float. Voici le code de mon Mario, ça date de 2006-2007, je codais en Français et je débutais donc c'est pas super super beau, mais ça reste très lisible comprehensible J'avais codé ce jeu pour apprendre à développer et pour participer au Zéro Awards du Site du zéro (c'est d'ailleurs le projet gagnant |
|
|
00
|
|
|
#14 | |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 60 ![]() |
Citation:
(ps : ca dépasse de loin mon niveau hihii) |
|
|
|
00
|
|
|
#15 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 60 ![]() |
Svp ça n'a pas marché, il y aurais pas quelque chose de plus simple pour effectuer ce maudit saut ?
|
|
|
00
|
|
|
#16 |
![]() ![]() ![]() ![]() Alexandre LaurentIngénieur développement logiciels Inscription : mai 2008 Messages : 10 381 ![]() |
Pouvez vous donner plus de détails sur le "ça n'a pas marché" ? Quel est l'erreur, qu'est ce que cela a fait. Quel est votre code actuel ... enfin tout ce que l'on peut avoir besoin pour vous aider.
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi ![]() La rubrique a aussi un blog ! Ma page sur DVP Mon Portfolio Qui connaît l'erreur, connaît la solution. |
|
00
|
|
|
#17 | |
|
Membre Expert
![]() Inscription : mars 2011 Messages : 531 ![]() |
Citation:
__________________
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer. - Antoine de Saint-Exupéry |
|
|
|
00
|
|
|
#18 | |
|
Invité de passage
![]() Inscription : mai 2012 Messages : 4 ![]() |
Bonjour, je suis tombé sur cette discussion en cherchant une façon de créer un saut
Voici le code que j'utilise (il est en construction), j'utilise pascal Citation:
Mon problème est que quand j'appuie sur z ca me monte direct l'image de quelques crans, je ne la voie monter progressivement. La descente se fait par contre correctement. Je n'ai pas d'idée pour créer une boucle pour la montée, et vous ? ou faudrait-il utiliser timer ? Si oui je n'ai pas trouvé de solution. Vous avez des idées ? |
|
|
|
00
|
|
|
#19 | ||
![]() ![]() ![]() ![]() Alexandre LaurentIngénieur développement logiciels Inscription : mai 2008 Messages : 10 381 ![]() |
Cela est brusque car l'accélération est brusque. Si vous voulez quelque chose de moins brusque alors il faudra augmenter la vitesse en y d'une manière progressive (au lieu de faire On peut imaginer quelque chose de ce genre :
Code pascal :
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi ![]() La rubrique a aussi un blog ! Ma page sur DVP Mon Portfolio Qui connaît l'erreur, connaît la solution. |
||
|
00
|
Copyright © 2000-2013 - www.developpez.com