September updates

hello
je note ici les progrès qu’on a fait avec @natacha en Godot pendant la semaine de La Tenaille.

Players / Camera

On garde la demo single player.
On n’a pas besoin de touches lettres sur le clavier pour bouger les persos, on reste avec les flèches.
On aimerait définir une classe Player.gd à partir de laquelle on instancie les persos.
Using @export keyword allows to set values inside Inspector menu.
On atterrit sur l’astéroïde et on retrouve 2 persos cote à cote.
HeLa nous donne la bienvenue et nous invite à essayer de changer de perso en même temps qu’elle explique comment les bouger (flèches). On change de perso en sélectionnant avec la souris/le trackpad. La caméra bouge de conséquence.
Chaque scène player est construite à partir d’un CharacterBody2D, auquel on associe: 1 AnimatedSprite, 1 CollisionShape, 1 Camera2D, 1 script héritant de la classe Player. Quand on change de perso, on désactive la caméra courante et on active celle du nouveau choix.

TileMap

On garde un fond sobre, pour l’instant un fichier .png – un fond plus dynamique par la suite ?
La première couche de TileMap ce sont les rochers et les plantes.
On gère les CollisionShapes à la main: en dessinant toutes les tiles du contour des graphiques.
TODO Y-sorting ?

Display

To prevent player from wandering off: set camera limits + create CollisionShapes along the edges of the world.

TODO in Player.gd:

Now that we have a movement direction, we can update the player’s position. We can also use clamp() to prevent it from leaving the screen. Clamping a value means restricting it to a given range. Add the following to the bottom of the _process function (make sure it’s not indented under the else):

position += velocity * delta
position = position.clamp(Vector2.ZERO, screen_size)