diff --git a/entities/camera/camera.tscn b/entities/camera/camera.tscn new file mode 100644 index 0000000..7b23548 --- /dev/null +++ b/entities/camera/camera.tscn @@ -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") diff --git a/entities/camera/scripts/camera.gd b/entities/camera/scripts/camera.gd new file mode 100644 index 0000000..a74b7f4 --- /dev/null +++ b/entities/camera/scripts/camera.gd @@ -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) diff --git a/entities/camera/scripts/camera.gd.uid b/entities/camera/scripts/camera.gd.uid new file mode 100644 index 0000000..fe282eb --- /dev/null +++ b/entities/camera/scripts/camera.gd.uid @@ -0,0 +1 @@ +uid://d1nsr56bh1a1y diff --git a/entities/player/player.tscn b/entities/player/player.tscn index 2ae2236..9dac6ee 100644 --- a/entities/player/player.tscn +++ b/entities/player/player.tscn @@ -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"] -[node name="Player" type="Node2D"] +[sub_resource type="CircleShape2D" id="CircleShape2D_sglur"] +radius = 38.0526 -[node name="Frame01" type="Sprite2D" parent="."] -scale = Vector2(0.179297, 0.179297) +[node name="Player" type="CharacterBody2D"] +script = ExtResource("1_abrql") + +[node name="Sprite" type="Sprite2D" parent="."] +position = Vector2(2, -20) +scale = Vector2(0.084375, 0.084375) texture = ExtResource("1_symyc") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_sglur") diff --git a/entities/player/scripts/player.gd b/entities/player/scripts/player.gd new file mode 100644 index 0000000..822584b --- /dev/null +++ b/entities/player/scripts/player.gd @@ -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() \ No newline at end of file diff --git a/entities/player/scripts/player.gd.uid b/entities/player/scripts/player.gd.uid new file mode 100644 index 0000000..f260f5e --- /dev/null +++ b/entities/player/scripts/player.gd.uid @@ -0,0 +1 @@ +uid://das7twcy5153p diff --git a/project.godot b/project.godot index 9149c71..db98917 100644 --- a/project.godot +++ b/project.godot @@ -14,3 +14,30 @@ config/name="Seeding Planets" run/main_scene="uid://c5bruelvqbm1k" config/features=PackedStringArray("4.4", "Forward Plus") 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) +] +} diff --git a/readme.md b/readme.md index 5f1fbf9..8276588 100644 --- a/readme.md +++ b/readme.md @@ -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`) 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 - - Fusionner dans `main` - - Tirer les modification depuis votre branche - - Cliquez sur "Nouvelle Demande d'ajout" - - Editer le titre de la demande d'ajout ou laissez comme telle - - Cliquez sur sur "Créer une demande d'ajout" + - Fusionner dans `main` + - Tirer les modification depuis votre branche + - Cliquez sur "Nouvelle Demande d'ajout" + - Editer le titre de la demande d'ajout ou laissez comme telle + - 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" > Pour actualiser votre dépôt local, replacez vous sur `main` et récupérer les nouvelles modifications diff --git a/root.tscn b/root.tscn index a419dd7..3bc71c9 100644 --- a/root.tscn +++ b/root.tscn @@ -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://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="Planet" parent="." instance=ExtResource("1_pyidc")] -position = Vector2(543, 309) [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")