Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

faire_un_personnage_qui_saute_en_l_air_sans_avancer_sans_double_saut [2018/02/17 12:18] (Version actuelle)
physix créée
Ligne 1: Ligne 1:
 +====== Faire un personnage qui saute en l'air sans avancer sans double saut ======
 +
 +{{  :​9ff802c7f5692c195dd00a6595bc72d8.png ​ }}
 +
 +Au début la vitesse est positive, vers le haut.
 +
 +Elle diminue de plus en plus, jusqu'​à atteindre le 0.
 +
 +Elle devient négative et l'​objet repart vers le bas.
 +
 +L'​écran de scratch à 2 axes (x et y) :
 +
 +{{  :​b70da001f4f22a8800500cdc5f09d362.png ​ }}
 +
 +On crée une variable Vitesse_y qui indique à quelle vitesse va le lutin sur l'axe des y.
 +
 +{{:​d4fd125c814bec3f386a6699c6743853.png}}
 +
 +Quand on appuie sur le drapeau vert, on met la vitesse à 10 pixels/​boucle.
 +
 +{{:​fb745d78db333671420eeecd1597ca38.png}}
 +
 +Le lutin va se déplacer vers le haut à la vitesse Vitesse_y
 +
 +{{:​5ac0b8c3c29ab6c63f86c99d7df33db7.png}}
 +
 +On veut que ça se répète indéfiniment :
 +
 +{{:​01723cb301c82f7b51df65356868e4e0.png}}
 +
 +Si fait cela, le lutin monte indéfiniment.
 +
 +Pour éviter d'​avoir à remettre le lutin au centre l'​écran,​ on le place à x=0 et y=0 au début :
 +
 +{{:​266b1b0630430f2f7e2694b8847492bb.png}}
 +
 +A chaque fois qu'on appuie sur le drapeau vert, le lutin est placé au centre et se met à monter.
 +
 +On veut maintenant que la vitesse diminue à chaque itération (à chaque boucle).
 +
 +On lui ajoute -1, ce qui correspond à soustraire 1.
 +
 +{{:​73d10f78d629999104dd45b214c2ba90.png}}
 +
 +Ce qui donne au total :
 +
 +{{:​90b9a366a65e471b547f9a5a86361f12.png}}
 +
 +Si on fait cela, il tombe indéfiniment.
 +
 +Pour éviter cela, on remet la Vitesse_y à 0 quand il atteint y=0.
 +
 +Si y=0 alors mettre Vitesse_y à 0 :
 +
 +{{:​2e89cb4c879242db525647fa77e46f78.png}}
 +
 +Ce qui donne au total :
 +
 +{{:​17721fb8841c47eb3e87f2e03b09d631.png}}
 +
 +Quand on appuie sur le drapeau vert, le lutin saute !
 +
 +Si par la suite, on veut que le lutin saute quand on appuie sur la barre d'​espace,​ on peut rajouter dans la boucle :
 +
 +{{:​87ed682907de24bc24c786b9fdeb45a7.png}}
 +
 +Ce qui donne :
 +
 +{{:​43db681817739524ad30c936b8ca3e7d.png}}
 +
 +Pour éviter la possibilité de sauter alors qu'on ne touche pas le sol, on crée une variable qui indique si on touche le sol ou pas.
 +
 +{{:​ca6b35a865e22e3befc2c68189fbd8d7.png}}
 +
 +Si on touche le sol, Saut vaut 1, sinon il vaut 0.
 +
 +On ne peut pas sauter si Saut ne vaut pas 1.
 +
 +{{:​2d84b006bba24c95902a2114a8ef0567.png}}
 +
 +{{url>​https://​scratch.mit.edu/​projects/​204649467/​ 485,402 noscroll noborder}}
 +