| █▄▀ Mouvement dans un jeu de plateforme |
| Les premiers jeux de plateforme étaient 2D. La composante vertical de l'écran représente la hauteur et la composante horizontal la longueur. Donc pour que le personnage puisse monter en haut de l'écran il doit sauter. Cependant le personnage ne peut pas monter aussi haut qu'il veut, une mystérieuse force l'en empêche. Cette force c'est la pesanteur, celle-ci attire les objets vers le sol. Comment marche la pesanteur ? |
![]() |
| La pesanteur en action |
| ▫ La pesanteur |
![]() |
| En reagrdant, le graphique ci-dessus, on peut en déduire que : - dans le plan horizontal, la vitesse est constante. - dans le plan vertical, l'objet est soumis à la pesanteur et sa vitesse varie. |
![]() |
| Dans le graphique ci-dessus, on voit qu'une force agit sur un objet et le projette dans les airs. Comme la pesanteur n'agit que sur la composante y de la vitesse, nous n'allons tenir compte que de la composante y de la force. Dans game maker il est possible de changer la vitesse vertical (y) avec la variable vspeed. Il suffit de donner à cette variable une vitesse qui projette l'objet vers le haut. |
| Exemple : vspeed=-5; |
|
Remarque : Une force n'est pas une vitesse mais la vitesse peut-être la conséquence, ou le résultat de l'action d'une force.
Bof c'est juste à titre indicatif, comme ça vous n'allez pas raconter n'importe quoi en cours de physique.
Formules Si vous utilisez les coordonnées x et y pour les déplacements, vous aurez besoin des formules de la pesanteur. h=V0-gt² La hauteur (par rapport à la hauteur du sol d'où on est parti) est égale à la vitesse Vo (lors du décollage) moins la constante de pesanteur g multiplié par le temps (passé dans les airs) t au carré. Vo est en m.s>-2, g = 9,8 constante moyenne de pesanteur, t est en secondes. Mais bon on s'en tape un peu des unités vu que ça nous sert pas sauf si on calcule l'échelle et qu'on veut afficher les résultats. |
| ▫ Et la composante X ? |
| Si le joueur appuie sur la flèche gauche ça va à gauche s'il appuie sur la flèche droite ça va à droite. Pour faire cela il suffit d'utiliser la variable hspeed. |
| // Exemple if (keyboard_check(vk_left)) hspeed=-5; if (keyboard_check(vk_right)) hspeed=5; |
| Lorsque le personnage est dans les airs cela dépend du choix de votre gameplay. Théoriquement un objet projetté en l'air (qui n'est pas destiné à voler) ne pas choisir de changer de direction, ou de régler sa vitesse. Il a une trajectoire prévisible et il va la suivre jusqu'à son aterrissage au sol. Dans un Mario et d'autres jeux vidéo, cet règle n'est pas respecté le perso peut choisir d'arrêter d'avancer, aller subitement à droite ou à gauche, pour atterrir sur un bloc par exemple. Donc c'est au choix soit vous voulez respectez la réalité soit vous préférez mettre une originalité ou faciliter le contrôle du personnage. (et ainsi améliorer la gameplay) |
| ▫ Listing |
| Téléchargez le fichier d'exemple pour voir une application de la théorie. |


