From 4576c62e4aca6bd4430893f4fd98fddb768f8cd6 Mon Sep 17 00:00:00 2001 From: Tabby <41929769+tabby-cat-nya@users.noreply.github.com> Date: Thu, 7 Aug 2025 22:17:12 +1000 Subject: [PATCH] how do i do this --- assets/braincell.png | Bin 0 -> 519 bytes assets/braincell.png.import | 34 ++++++++++++++++++++++++++++++++++ assets/segement.png | Bin 0 -> 2316 bytes assets/segement.png.import | 34 ++++++++++++++++++++++++++++++++++ braincell.gd | 25 +++++++++++++++++++++++++ braincell.gd.uid | 1 + project.godot | 35 +++++++++++++++++++++++++++++++++++ test.tscn | 34 ++++++++++++++++++++++++++++++++++ 8 files changed, 163 insertions(+) create mode 100644 assets/braincell.png create mode 100644 assets/braincell.png.import create mode 100644 assets/segement.png create mode 100644 assets/segement.png.import create mode 100644 braincell.gd create mode 100644 braincell.gd.uid create mode 100644 test.tscn diff --git a/assets/braincell.png b/assets/braincell.png new file mode 100644 index 0000000000000000000000000000000000000000..1065d55cce6114cfd7d13c36163a3457657427e4 GIT binary patch literal 519 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 U-_M1ro$__ void: + # Add the gravity. + if not is_on_floor(): + velocity += get_gravity() * delta + + # Handle jump. + if Input.is_action_just_pressed("ui_accept") and is_on_floor(): + velocity.y = JUMP_VELOCITY + + # Get the input direction and handle the movement/deceleration. + # As good practice, you should replace UI actions with custom gameplay actions. + var direction := Input.get_vector("left","right","up","down") + if direction: + velocity = direction * SPEED + else: + velocity = velocity.move_toward(Vector2(0,0), SPEED) + + move_and_slide() diff --git a/braincell.gd.uid b/braincell.gd.uid new file mode 100644 index 0000000..71bed7a --- /dev/null +++ b/braincell.gd.uid @@ -0,0 +1 @@ +uid://b48mlxrnte625 diff --git a/project.godot b/project.godot index 089154d..26befe0 100644 --- a/project.godot +++ b/project.godot @@ -11,14 +11,49 @@ config_version=5 [application] config/name="Snake" +run/main_scene="uid://daqqurdrnk61h" config/features=PackedStringArray("4.4", "GL Compatibility") config/icon="res://icon.svg" +[display] + +window/size/viewport_width=640 +window/size/viewport_height=360 +window/stretch/mode="canvas_items" + [editor_plugins] enabled=PackedStringArray("res://addons/godot-donut-collision-polygon-2d-7780d026ae3d4a37fe68f43cc1f97ba664dd775d/addons/donut_collision_polygon2D/plugin.cfg") +[input] + +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) +] +} +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) +] +} +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":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) +] +} +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) +] +} + [rendering] +textures/canvas_textures/default_texture_filter=0 renderer/rendering_method="gl_compatibility" renderer/rendering_method.mobile="gl_compatibility" diff --git a/test.tscn b/test.tscn new file mode 100644 index 0000000..f7974f2 --- /dev/null +++ b/test.tscn @@ -0,0 +1,34 @@ +[gd_scene load_steps=6 format=3 uid="uid://daqqurdrnk61h"] + +[ext_resource type="Texture2D" uid="uid://l8x3dp68yyxr" path="res://assets/segement.png" id="1_6uqi0"] +[ext_resource type="Script" uid="uid://deq18nev0kwbg" path="res://addons/godot-donut-collision-polygon-2d-7780d026ae3d4a37fe68f43cc1f97ba664dd775d/addons/donut_collision_polygon2D/donut_collision_polygon2D.gd" id="2_ppyta"] +[ext_resource type="Script" uid="uid://b48mlxrnte625" path="res://braincell.gd" id="3_ppyta"] +[ext_resource type="Texture2D" uid="uid://qyd5e7lb2esx" path="res://assets/braincell.png" id="3_ykrsh"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_g14j6"] +radius = 16.0 + +[node name="Node2D" type="Node2D"] + +[node name="SnakeSegment" type="AnimatableBody2D" parent="."] + +[node name="Sprite2D" type="Sprite2D" parent="SnakeSegment"] +texture = ExtResource("1_6uqi0") + +[node name="DonutCollisionPolygon2D" type="CollisionPolygon2D" parent="SnakeSegment"] +polygon = PackedVector2Array(9.85808e-15, -161, 31.4095, -157.906, 61.612, -148.745, 89.4468, -133.867, 113.844, -113.844, 133.867, -89.4468, 148.745, -61.612, 157.906, -31.4095, 161, 0, 157.906, 31.4095, 148.745, 61.612, 133.867, 89.4468, 113.844, 113.844, 89.4468, 133.867, 61.612, 148.745, 31.4095, 157.906, 9.85808e-15, 161, -31.4095, 157.906, -61.612, 148.745, -89.4468, 133.867, -113.844, 113.844, -133.867, 89.4468, -148.745, 61.612, -157.906, 31.4095, -161, 1.97162e-14, -157.906, -31.4095, -148.745, -61.612, -133.867, -89.4468, -113.844, -113.844, -89.4468, -133.867, -61.612, -148.745, -31.4095, -157.906, -2.95742e-14, -161, -2.92069e-14, -159, -31.0194, -155.945, -60.8467, -146.897, -88.3357, -132.204, -112.43, -112.43, -132.204, -88.3357, -146.897, -60.8467, -155.945, -31.0194, -159, 1.94712e-14, -155.945, 31.0194, -146.897, 60.8467, -132.204, 88.3357, -112.43, 112.43, -88.3357, 132.204, -60.8467, 146.897, -31.0194, 155.945, 9.73562e-15, 159, 31.0194, 155.945, 60.8467, 146.897, 88.3357, 132.204, 112.43, 112.43, 132.204, 88.3357, 146.897, 60.8467, 155.945, 31.0194, 159, 0, 155.945, -31.0194, 146.897, -60.8467, 132.204, -88.3357, 112.43, -112.43, 88.3357, -132.204, 60.8467, -146.897, 31.0194, -155.945, 9.73562e-15, -159, 0.0001, -161) +script = ExtResource("2_ppyta") +radius = 160.0 +metadata/_custom_type_script = "uid://deq18nev0kwbg" + +[node name="Braincell" type="CharacterBody2D" parent="."] +motion_mode = 1 +script = ExtResource("3_ppyta") + +[node name="Sprite2D" type="Sprite2D" parent="Braincell"] +texture = ExtResource("3_ykrsh") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Braincell"] +shape = SubResource("CircleShape2D_g14j6") + +[node name="Camera2D" type="Camera2D" parent="."]