SCRATCH

12. Code la gravité

Tu vas maintenant coder les comportements physiques de ton héros.

Le premier, la gravité, permet de l'attirer vers le sol.
Pour donner un effet de gravité réaliste, plus ton héros tombe, plus il doit aller vite.

1. Crée un nouveau sprite «hitbox »

 Ce sprite va servir à coder le comportement physique de ton héros.
Pour le créer, utilise l'outil « Peindre» dans le menu déroulant « Sprite ». Ce sprite doit être carré ou rectangle car ces formes aux contours rectilignes sont idéales pour la détection des obstacles.
01
Trace-le d'une taille en pixels légèrement inférieure à celle de ton personnage. Dans Scratch, la taille en pixels est indiquée sous chaque costume.

02

Pense à placer ton costume au centre de l'éditeur grâce au petit point gris qui figure sur la zone de dessin.
Si ton costume est décentré par rapport à ce point, tu auras des difficultés à positionner ta hitbox lors de la finalisation de ton héros.

2. Fais tomber ta hitbox

Code ton sprite pour qu'il aille vers le bas. Cela va donner l'illusion qu'il «tombe». N'hésite pas à adapter la position d'initialisation de ton sprite «hitbox» afin qu'il ne démarre pas à l'intérieur d'une plate-forme et que • le test de gravité fonctionne :

03

Teste ton code: que vois-tu? Ta hitbox tombe très lentement, puis elle passe au travers du sol !

Comment se déplace ta hitbox si tu modifies la valeur "-1" ?

A ton avis, comment fonctionne la gravité ?
Un objet en l'air finit toujours par tomber. Mais si tu lâches une pomme du haut d'un immeuble, se passera-t-il la même chose que si tu la fais tomber d'une table ? Non, car plus la chute est longue, plus la vitesse de la chute augmente ! C'est l'accélération.

3. Crée un effet de uitesse lors de la chute

Pour donner un effet de gravité réaliste • à ton sprite, il doit prendre de la vitesse • en tombant. Comment faire?
Crée, puis utilise une variable "Vitesse de chute" pour stocker la vitesse de ton sprite lorsqu'il tombe.
En début de jeu, paramètre la vitesse à 0 pour que la vitesse soit nulle:

04

Une variable est une «botte» dans laquelle il est possible de ranger des nombres.
Imagine une boîte de bonbons.
Si tu prends dedans des bonbons, le nombre diminue. Si tu en ajoutes, le nombre augmente. Le nombre «varie», d'où le nom de «variable».
Pour ton jeu de plates-formes, comme ton héros ne tombera pas toujours
à la même vitesse, celle-ci sera donc «variable». Tu vas donc créer une variable pour stocker la valeur de la vitesse de la chute.

Puis crée une boucle pour que ton sprite descende de plus en plus vite en augmentant progressivement ta variable:

05

Comment se comporte le sprite si tu assembles les blocs de cette manière?
Observes-tu une différence par rapport à ce que tu as codé à l'étape 2?
Chaque fois que la boucle est dans l'étape A, la vitesse augmente car -1 est ajouté.
L'étape B remet la boucle au début mais sans annuler l'étape A. C'est la raison pour laquelle la vitesse augmente de plus en plus à chaque tour de boucle.

N'hésite pas à personnaliser la vitesse de chute de ton sprite ! Amuse-toi en testant différentes valeurs.

 

Vous êtes ici : Accueil RESSOURCES OCOM MITIC SCRATCH 12. Code la gravité