====== 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}}