From be880bd228518c03a8905e99ac4a7335636c786d Mon Sep 17 00:00:00 2001 From: Tabby <41929769+tabby-cat-nya@users.noreply.github.com> Date: Sat, 7 Jun 2025 16:13:21 +1000 Subject: [PATCH] initial project with basic moevment setup --- .editorconfig | 4 +++ .gitattributes | 4 +-- .gitignore | 3 +++ icon.svg | 1 + icon.svg.import | 37 ++++++++++++++++++++++++++ project.godot | 42 +++++++++++++++++++++++++++++ ship.gd | 18 +++++++++++++ ship.gd.uid | 1 + test.tscn | 70 +++++++++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 178 insertions(+), 2 deletions(-) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 icon.svg create mode 100644 icon.svg.import create mode 100644 project.godot create mode 100644 ship.gd create mode 100644 ship.gd.uid create mode 100644 test.tscn diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f28239b --- /dev/null +++ b/.editorconfig @@ -0,0 +1,4 @@ +root = true + +[*] +charset = utf-8 diff --git a/.gitattributes b/.gitattributes index dfe0770..8ad74f7 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,2 @@ -# Auto detect text files and perform LF normalization -* text=auto +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0af181c --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# Godot 4+ specific ignores +.godot/ +/android/ diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..9d8b7fa --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..bea6c84 --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://lkj8ecm5p4g6" +path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.svg" +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..980d3d8 --- /dev/null +++ b/project.godot @@ -0,0 +1,42 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="Lunar" +run/main_scene="uid://d2waabvrlsfs8" +config/features=PackedStringArray("4.4", "GL Compatibility") +config/icon="res://icon.svg" + +[input] + +thrust={ +"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":119,"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) +] +} +turn_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":65,"key_label":0,"unicode":97,"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":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} +turn_right={ +"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":68,"key_label":0,"unicode":100,"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":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} + +[rendering] + +renderer/rendering_method="gl_compatibility" +renderer/rendering_method.mobile="gl_compatibility" diff --git a/ship.gd b/ship.gd new file mode 100644 index 0000000..66302db --- /dev/null +++ b/ship.gd @@ -0,0 +1,18 @@ +extends RigidBody2D + +@export var thrust_power : float = 1 +@export var turn_power : float = 1 + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + var turning : float = Input.get_axis("turn_left","turn_right") * turn_power + var thrust : float = Input.get_action_strength("thrust") * thrust_power + + apply_torque(turning) + apply_force(Vector2(-thrust,-thrust) * transform.y ) + diff --git a/ship.gd.uid b/ship.gd.uid new file mode 100644 index 0000000..8306762 --- /dev/null +++ b/ship.gd.uid @@ -0,0 +1 @@ +uid://cd54ktlkabbla diff --git a/test.tscn b/test.tscn new file mode 100644 index 0000000..a9ee996 --- /dev/null +++ b/test.tscn @@ -0,0 +1,70 @@ +[gd_scene load_steps=5 format=3 uid="uid://d2waabvrlsfs8"] + +[ext_resource type="Texture2D" uid="uid://lkj8ecm5p4g6" path="res://icon.svg" id="1_8uh7m"] +[ext_resource type="Script" uid="uid://cd54ktlkabbla" path="res://ship.gd" id="2_6uqi0"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_ppyta"] +size = Vector2(128, 26) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_ykrsh"] +size = Vector2(38, 38) + +[node name="Node2D" type="Node2D"] + +[node name="StaticBody2D" type="StaticBody2D" parent="."] +position = Vector2(597, 583) + +[node name="Sprite2D" type="Sprite2D" parent="StaticBody2D"] +modulate = Color(0, 0, 0, 1) +scale = Vector2(1, 0.2) +texture = ExtResource("1_8uh7m") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"] +shape = SubResource("RectangleShape2D_ppyta") + +[node name="StaticBody2D2" type="StaticBody2D" parent="."] +position = Vector2(932, 437) + +[node name="Sprite2D" type="Sprite2D" parent="StaticBody2D2"] +modulate = Color(0, 0, 0, 1) +scale = Vector2(1, 0.2) +texture = ExtResource("1_8uh7m") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D2"] +shape = SubResource("RectangleShape2D_ppyta") + +[node name="StaticBody2D3" type="StaticBody2D" parent="."] +position = Vector2(232, 291) + +[node name="Sprite2D" type="Sprite2D" parent="StaticBody2D3"] +modulate = Color(0, 0, 0, 1) +scale = Vector2(1, 0.2) +texture = ExtResource("1_8uh7m") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D3"] +shape = SubResource("RectangleShape2D_ppyta") + +[node name="StaticBody2D4" type="StaticBody2D" parent="."] +position = Vector2(796, 107) + +[node name="Sprite2D" type="Sprite2D" parent="StaticBody2D4"] +modulate = Color(0, 0, 0, 1) +scale = Vector2(1, 0.2) +texture = ExtResource("1_8uh7m") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D4"] +shape = SubResource("RectangleShape2D_ppyta") + +[node name="RigidBody2D" type="RigidBody2D" parent="."] +position = Vector2(597, 548) +gravity_scale = 0.2 +script = ExtResource("2_6uqi0") +thrust_power = 500.0 +turn_power = 1000.0 + +[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D"] +scale = Vector2(0.3, 0.3) +texture = ExtResource("1_8uh7m") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D"] +shape = SubResource("RectangleShape2D_ykrsh")