#5 développement du mouvement du robot et d'une caméra qui le suit

This commit is contained in:
Zacharie Guet 2025-08-01 12:56:59 +02:00
parent 287a7a161f
commit b60c445592
9 changed files with 84 additions and 12 deletions

View File

@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://dj7gp3crtg2yt"]
[ext_resource type="Script" uid="uid://d1nsr56bh1a1y" path="res://entities/camera/scripts/camera.gd" id="1_y2wxd"]
[node name="Camera" type="Camera2D"]
script = ExtResource("1_y2wxd")

View File

@ -0,0 +1,11 @@
extends Camera2D
class_name Camera
const LERP_WEIGHT = 0.9
@export var following : Node2D
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
if following:
global_position = following.global_position.lerp(global_position, LERP_WEIGHT)

View File

@ -0,0 +1 @@
uid://d1nsr56bh1a1y

View File

@ -1,9 +1,18 @@
[gd_scene load_steps=2 format=3 uid="uid://bgvbgeq46wee2"] [gd_scene load_steps=4 format=3 uid="uid://bgvbgeq46wee2"]
[ext_resource type="Script" uid="uid://das7twcy5153p" path="res://entities/player/scripts/player.gd" id="1_abrql"]
[ext_resource type="Texture2D" uid="uid://c7ff87jniga5m" path="res://entities/player/assets/sprites/robot.png" id="1_symyc"] [ext_resource type="Texture2D" uid="uid://c7ff87jniga5m" path="res://entities/player/assets/sprites/robot.png" id="1_symyc"]
[node name="Player" type="Node2D"] [sub_resource type="CircleShape2D" id="CircleShape2D_sglur"]
radius = 38.0526
[node name="Frame01" type="Sprite2D" parent="."] [node name="Player" type="CharacterBody2D"]
scale = Vector2(0.179297, 0.179297) script = ExtResource("1_abrql")
[node name="Sprite" type="Sprite2D" parent="."]
position = Vector2(2, -20)
scale = Vector2(0.084375, 0.084375)
texture = ExtResource("1_symyc") texture = ExtResource("1_symyc")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_sglur")

View File

@ -0,0 +1,14 @@
extends CharacterBody2D
class_name Player
@export var speed = 400
func get_input():
var input_direction : Vector2 = Input.get_vector("move_left", "move_right", "move_up", "move_down")
velocity = input_direction * speed
if input_direction.x:
$Sprite.flip_h = (input_direction.x < 0)
func _physics_process(_delta):
get_input()
move_and_slide()

View File

@ -0,0 +1 @@
uid://das7twcy5153p

View File

@ -14,3 +14,30 @@ config/name="Seeding Planets"
run/main_scene="uid://c5bruelvqbm1k" run/main_scene="uid://c5bruelvqbm1k"
config/features=PackedStringArray("4.4", "Forward Plus") config/features=PackedStringArray("4.4", "Forward Plus")
config/icon="res://icon.svg" config/icon="res://icon.svg"
[input]
move_right={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null)
]
}
move_left={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null)
]
}
move_up={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":122,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
move_down={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}

View File

@ -78,11 +78,11 @@ Pour ajouter un ou plusieurs fichiers ou modifier du code dans le projet, suivez
2. Après chaque modification conséquente, créer un ou plusieurs commits. Les noms des commits sont écrits en français et peuvent commencer par l'identifiant du ticket concernant la modification (exemple: `#5 augmentation de la distance du saut`) 2. Après chaque modification conséquente, créer un ou plusieurs commits. Les noms des commits sont écrits en français et peuvent commencer par l'identifiant du ticket concernant la modification (exemple: `#5 augmentation de la distance du saut`)
3. Pousser votre branche (`git push` dans un terminal ou via interface git) 3. Pousser votre branche (`git push` dans un terminal ou via interface git)
4. Créer une demande de modification dans Gitea en suivant [ce lien](https://git.zacharie-guet.fr/zacharie/seeding-planets/pulls), cliquez sur Demande d'ajout et renseignez comme suit 4. Créer une demande de modification dans Gitea en suivant [ce lien](https://git.zacharie-guet.fr/zacharie/seeding-planets/pulls), cliquez sur Demande d'ajout et renseignez comme suit
- Fusionner dans `main` - Fusionner dans `main`
- Tirer les modification depuis votre branche - Tirer les modification depuis votre branche
- Cliquez sur "Nouvelle Demande d'ajout" - Cliquez sur "Nouvelle Demande d'ajout"
- Editer le titre de la demande d'ajout ou laissez comme telle - Editer le titre de la demande d'ajout ou laissez comme telle
- Cliquez sur sur "Créer une demande d'ajout" - Cliquez sur sur "Créer une demande d'ajout"
5. Communiquez avec l'équipe sur cette demande d'ajout, et appliquer la si vous avez l'aval de tous le monde (ou du moins des concernés du changement), en cliquant sur "Rebaser et avancer rapidement" 5. Communiquez avec l'équipe sur cette demande d'ajout, et appliquer la si vous avez l'aval de tous le monde (ou du moins des concernés du changement), en cliquant sur "Rebaser et avancer rapidement"
> Pour actualiser votre dépôt local, replacez vous sur `main` et récupérer les nouvelles modifications > Pour actualiser votre dépôt local, replacez vous sur `main` et récupérer les nouvelles modifications

View File

@ -1,12 +1,15 @@
[gd_scene load_steps=3 format=3 uid="uid://c5bruelvqbm1k"] [gd_scene load_steps=4 format=3 uid="uid://c5bruelvqbm1k"]
[ext_resource type="PackedScene" uid="uid://tsi5j1uxppa4" path="res://stages/planet/planet.tscn" id="1_pyidc"] [ext_resource type="PackedScene" uid="uid://tsi5j1uxppa4" path="res://stages/planet/planet.tscn" id="1_pyidc"]
[ext_resource type="PackedScene" uid="uid://bgvbgeq46wee2" path="res://entities/player/player.tscn" id="2_vvh5c"] [ext_resource type="PackedScene" uid="uid://bgvbgeq46wee2" path="res://entities/player/player.tscn" id="2_vvh5c"]
[ext_resource type="PackedScene" uid="uid://dj7gp3crtg2yt" path="res://entities/camera/camera.tscn" id="3_vvh5c"]
[node name="Root" type="Node2D"] [node name="Root" type="Node2D"]
[node name="Planet" parent="." instance=ExtResource("1_pyidc")] [node name="Planet" parent="." instance=ExtResource("1_pyidc")]
position = Vector2(543, 309)
[node name="Player" parent="." instance=ExtResource("2_vvh5c")] [node name="Player" parent="." instance=ExtResource("2_vvh5c")]
position = Vector2(530, 270)
[node name="Camera" parent="." node_paths=PackedStringArray("following") instance=ExtResource("3_vvh5c")]
position = Vector2(2.22, 0)
following = NodePath("../Player")