]> git.seodisparate.com - LD55/commitdiff
Work
authorStephen Seo <seo.disparate@gmail.com>
Sat, 13 Apr 2024 07:16:11 +0000 (16:16 +0900)
committerStephen Seo <seo.disparate@gmail.com>
Sat, 13 Apr 2024 07:16:11 +0000 (16:16 +0900)
Add DungeonEntrance and DungeonGuard.

Some scripting for main character's movement.

DungeonEntrance.tscn [new file with mode: 0644]
MainLogic.gd
gander_schwartz.gd [new file with mode: 0644]
gander_schwartz.tscn
gimp/DungeonEntrance.png [new file with mode: 0644]
gimp/DungeonEntrance.png.import [new file with mode: 0644]
gimp/DungeonGuard.png [new file with mode: 0644]
gimp/DungeonGuard.png.import [new file with mode: 0644]
main_scene.tscn

diff --git a/DungeonEntrance.tscn b/DungeonEntrance.tscn
new file mode 100644 (file)
index 0000000..1c3d0b7
--- /dev/null
@@ -0,0 +1,30 @@
+[gd_scene load_steps=4 format=3 uid="uid://b55f770t7xs6a"]
+
+[ext_resource type="Texture2D" uid="uid://npjqgc3tdgs1" path="res://gimp/DungeonEntrance.png" id="1_vo6aq"]
+[ext_resource type="Texture2D" uid="uid://nocjsuuft8qx" path="res://gimp/DungeonGuard.png" id="2_nujkm"]
+
+[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_18p8i"]
+radius = 15.0
+height = 32.0
+
+[node name="Node2D" type="Node2D"]
+
+[node name="DungeonEntrance" type="Sprite2D" parent="."]
+texture_filter = 1
+position = Vector2(-1, -320)
+texture = ExtResource("1_vo6aq")
+
+[node name="StaticBody2D" type="StaticBody2D" parent="DungeonEntrance"]
+
+[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="DungeonEntrance/StaticBody2D"]
+polygon = PackedVector2Array(-160, 127, -159, -129, 160, -126, 161, 127, 21, 127, 21, 79, -19, 79, -19, 127)
+
+[node name="DungeonGuard" type="Sprite2D" parent="."]
+texture_filter = 1
+position = Vector2(0, -208)
+texture = ExtResource("2_nujkm")
+
+[node name="StaticBody2D" type="StaticBody2D" parent="DungeonGuard"]
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="DungeonGuard/StaticBody2D"]
+shape = SubResource("CapsuleShape2D_18p8i")
index 6777f65bcdb45aaf672f3d7b62cbca54c72d9aa9..36234c1e7d9fa6cca178c9356236f70b55a674f3 100644 (file)
@@ -17,6 +17,10 @@ const start_text = "You seek the elementals?\nProve your worth!\nShow the elemen
 const intro_text_00 = "The name's Gander Schwartz.\nBut my friends call me the \"Wandering Gander\"."
 const intro_text_01 = "I'm what most would call a \"third-rate summoner\",\nbut there's a reason for that.\nI summon \"items\", not \"beasts\"."
 const intro_text_02 = "Most summoners summon beasts to fight for them.\nI summon items to fight with, or even tools to solve puzzles in dungeons."
+const intro_text_03 = "There is one dungeon I've been itching to conquer.\nThe elemental dungeon!"
+const intro_text_04 = "If I beat the elemental dungeon,\nI'll be able to enhance my summons with elemental properties!"
+const intro_text_05 = "No longer would I need to light an oil lantern with flint and steel,\nor keep lugging around leather skins for water!"
+const intro_text_06 = "But the dungeon is a challenge.\nA challenge I hope to best with my wits and my item summoning!"
 
 const diamond_angle_rate = 1.2
 const diamond_dist_rate = 50.0
@@ -33,7 +37,16 @@ enum StateT {
        Introduction_01,
        Introduction_01_post,
        Introduction_02,
-       Introduction_02_post
+       Introduction_02_post,
+       Introduction_03,
+       Introduction_03_post,
+       Introduction_04,
+       Introduction_04_post,
+       Introduction_05,
+       Introduction_05_post,
+       Introduction_06,
+       Introduction_06_post,
+       Dungeon_Entrance
 }
 
 static var state_dict = {}
@@ -110,6 +123,22 @@ func _process(delta):
                        update_text(intro_text_02, StateT.Introduction_02_post)
                StateT.Introduction_02_post:
                        pass
+               StateT.Introduction_03:
+                       update_text(intro_text_03, StateT.Introduction_03_post)
+               StateT.Introduction_03_post:
+                       pass
+               StateT.Introduction_04:
+                       update_text(intro_text_04, StateT.Introduction_04_post)
+               StateT.Introduction_04_post:
+                       pass
+               StateT.Introduction_05:
+                       update_text(intro_text_05, StateT.Introduction_05_post)
+               StateT.Introduction_05_post:
+                       pass
+               StateT.Introduction_06:
+                       update_text(intro_text_06, StateT.Introduction_06_post)
+               StateT.Introduction_06_post:
+                       pass
                _:
                        pass
                        
@@ -153,6 +182,51 @@ func _unhandled_input(event):
                                state_dict["timer"] = 0.0
                                state_dict["text_idx"] = 0
                                main_label.text = intro_text_02
+                       StateT.Introduction_02_post:
+                               state_dict["state"] = StateT.Introduction_03
+                               state_dict["timer"] = 0.0
+                               state_dict["text_idx"] = 0
+                               main_label.text = ""
+                       StateT.Introduction_03:
+                               state_dict["state"] = StateT.Introduction_03_post
+                               state_dict["timer"] = 0.0
+                               state_dict["text_idx"] = 0
+                               main_label.text = intro_text_03
+                       StateT.Introduction_03_post:
+                               state_dict["state"] = StateT.Introduction_04
+                               state_dict["timer"] = 0.0
+                               state_dict["text_idx"] = 0
+                               main_label.text = ""
+                       StateT.Introduction_04:
+                               state_dict["state"] = StateT.Introduction_04_post
+                               state_dict["timer"] = 0.0
+                               state_dict["text_idx"] = 0
+                               main_label.text = intro_text_04
+                       StateT.Introduction_04_post:
+                               state_dict["state"] = StateT.Introduction_05
+                               state_dict["timer"] = 0.0
+                               state_dict["text_idx"] = 0
+                               main_label.text = ""
+                       StateT.Introduction_05:
+                               state_dict["state"] = StateT.Introduction_05_post
+                               state_dict["timer"] = 0.0
+                               state_dict["text_idx"] = 0
+                               main_label.text = intro_text_05
+                       StateT.Introduction_05_post:
+                               state_dict["state"] = StateT.Introduction_06
+                               state_dict["timer"] = 0.0
+                               state_dict["text_idx"] = 0
+                               main_label.text = ""
+                       StateT.Introduction_06:
+                               state_dict["state"] = StateT.Introduction_06_post
+                               state_dict["timer"] = 0.0
+                               state_dict["text_idx"] = 0
+                               main_label.text = intro_text_06
+                       StateT.Introduction_06_post:
+                               state_dict["state"] = StateT.Dungeon_Entrance
+                               state_dict["timer"] = 0.0
+                               state_dict["text_idx"] = 0
+                               main_label.text = ""
                        _:
                                pass
 
diff --git a/gander_schwartz.gd b/gander_schwartz.gd
new file mode 100644 (file)
index 0000000..bfd086a
--- /dev/null
@@ -0,0 +1,48 @@
+extends CharacterBody2D
+
+@onready var animated = $AnimatedSprite2D
+
+const SPEED = 150.0
+const ANIM_DEADZONE = 0.3
+
+func _physics_process(delta):
+       var vec2 = Vector2()
+       if Input.is_action_pressed("Left"):
+               vec2.x = -1.0
+       elif Input.is_action_pressed("Right"):
+               vec2.x = 1.0
+       if Input.is_action_pressed("Up"):
+               vec2.y = -1.0
+       elif Input.is_action_pressed("Down"):
+               vec2.y = 1.0
+       
+       if vec2.length() > 0.1:
+               vec2 = vec2.normalized()
+       else:
+               vec2.x = 0.0
+               vec2.y = 0.0
+       
+       if vec2.x > ANIM_DEADZONE:
+               animated.play("walking_right")
+       elif vec2.x < -ANIM_DEADZONE:
+               animated.play("walking_left")
+       elif vec2.y > ANIM_DEADZONE:
+               animated.play("walking_front")
+       elif vec2.y < -ANIM_DEADZONE:
+               animated.play("walking_back")
+       else:
+               match animated.animation:
+                       "walking_right":
+                               animated.play("facing_right")
+                       "walking_left":
+                               animated.play("facing_left")
+                       "walking_front":
+                               animated.play("facing_front")
+                       "walking_back":
+                               animated.play("facing_back")
+                       _:
+                               pass
+               
+       velocity = vec2 * SPEED
+
+       move_and_slide()
index 984d93fb6b9feb728704ec816fec9f1b567735e9..4deb67f65864d8d0400187e59d7506a819ec38e9 100644 (file)
@@ -1,5 +1,6 @@
-[gd_scene load_steps=19 format=3 uid="uid://ktxqc7xtqkex"]
+[gd_scene load_steps=21 format=3 uid="uid://ktxqc7xtqkex"]
 
+[ext_resource type="Script" path="res://gander_schwartz.gd" id="1_6ob4s"]
 [ext_resource type="Texture2D" uid="uid://cv0qw4j1q78r8" path="res://gimp/GanderSchwartz_spritesheet.png" id="1_n7bds"]
 
 [sub_resource type="AtlasTexture" id="AtlasTexture_mj0lb"]
@@ -157,14 +158,23 @@ animations = [{
 "speed": 5.0
 }]
 
+[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_u3k2h"]
+radius = 15.0
+height = 80.0
+
 [node name="GanderSchwartz" type="CharacterBody2D"]
+motion_mode = 1
+script = ExtResource("1_6ob4s")
 
 [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
 texture_filter = 1
-position = Vector2(0, -24)
+position = Vector2(0, -51)
+scale = Vector2(2.11, 2.11)
 sprite_frames = SubResource("SpriteFrames_i348s")
 animation = &"walking_front"
 frame = 3
 frame_progress = 0.126405
 
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+position = Vector2(0, -40)
+shape = SubResource("CapsuleShape2D_u3k2h")
diff --git a/gimp/DungeonEntrance.png b/gimp/DungeonEntrance.png
new file mode 100644 (file)
index 0000000..24eaa40
Binary files /dev/null and b/gimp/DungeonEntrance.png differ
diff --git a/gimp/DungeonEntrance.png.import b/gimp/DungeonEntrance.png.import
new file mode 100644 (file)
index 0000000..8421bda
--- /dev/null
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://npjqgc3tdgs1"
+path="res://.godot/imported/DungeonEntrance.png-d5377cb906979b90475313ef20f7ee37.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gimp/DungeonEntrance.png"
+dest_files=["res://.godot/imported/DungeonEntrance.png-d5377cb906979b90475313ef20f7ee37.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
diff --git a/gimp/DungeonGuard.png b/gimp/DungeonGuard.png
new file mode 100644 (file)
index 0000000..7ae6a27
Binary files /dev/null and b/gimp/DungeonGuard.png differ
diff --git a/gimp/DungeonGuard.png.import b/gimp/DungeonGuard.png.import
new file mode 100644 (file)
index 0000000..fb92cc7
--- /dev/null
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://nocjsuuft8qx"
+path="res://.godot/imported/DungeonGuard.png-dc8dcbb58e4d6814aac7a93a7908bbc9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gimp/DungeonGuard.png"
+dest_files=["res://.godot/imported/DungeonGuard.png-dc8dcbb58e4d6814aac7a93a7908bbc9.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
index d4427aca03efccb5eebd4f21e9d510c5f463d8e3..7b8fe7fd8d273c80dc590efad1058d113a13483a 100644 (file)
@@ -13,14 +13,14 @@ script = ExtResource("1_43no1")
 [node name="Camera2D" type="Camera2D" parent="."]
 
 [node name="MainLabel" type="Label" parent="Camera2D"]
-z_index = 1
+z_index = 5
 offset_left = -277.0
 offset_top = -96.0
 offset_right = 278.0
 offset_bottom = 97.0
 
 [node name="LowerLabel" type="Label" parent="Camera2D"]
-z_index = 1
+z_index = 5
 offset_left = -237.0
 offset_top = 101.0
 offset_right = 239.0