initial commit
2
.gitattributes
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
# Normalize EOL for all files that Git considers text files.
|
||||
* text=auto eol=lf
|
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
# Godot 4+ specific ignores
|
||||
.godot/
|
7
Area2D.gd
Normal file
@ -0,0 +1,7 @@
|
||||
extends Area2D
|
||||
|
||||
|
||||
|
||||
|
||||
func _on_body_entered(body):
|
||||
print("hai")
|
BIN
HackerBasic.ttf
Normal file
38
HackerBasic.ttf.import
Normal file
@ -0,0 +1,38 @@
|
||||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://dit6605nx68qb"
|
||||
path="res://.godot/imported/HackerBasic.ttf-aa7eb7cf3d0776599b28827728f98419.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://HackerBasic.ttf"
|
||||
dest_files=["res://.godot/imported/HackerBasic.ttf-aa7eb7cf3d0776599b28827728f98419.fontdata"]
|
||||
|
||||
[params]
|
||||
|
||||
Rendering=null
|
||||
antialiasing=1
|
||||
generate_mipmaps=false
|
||||
multichannel_signed_distance_field=false
|
||||
msdf_pixel_range=8
|
||||
msdf_size=48
|
||||
allow_system_fallback=true
|
||||
force_autohinter=false
|
||||
hinting=1
|
||||
subpixel_positioning=1
|
||||
oversampling=0.0
|
||||
Fallbacks=null
|
||||
fallbacks=[]
|
||||
Compress=null
|
||||
compress=true
|
||||
preload=[{
|
||||
"chars": [],
|
||||
"glyphs": [],
|
||||
"name": "New Configuration",
|
||||
"size": Vector2i(16, 0)
|
||||
}]
|
||||
language_support={}
|
||||
script_support={}
|
||||
opentype_features={}
|
BIN
assets/chess_basic.ttf
Executable file
39
assets/chess_basic.ttf.import
Normal file
@ -0,0 +1,39 @@
|
||||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://dg1vp00r67f0f"
|
||||
path="res://.godot/imported/chess_basic.ttf-3813103f7652f90732418ac2db8f4907.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/chess_basic.ttf"
|
||||
dest_files=["res://.godot/imported/chess_basic.ttf-3813103f7652f90732418ac2db8f4907.fontdata"]
|
||||
|
||||
[params]
|
||||
|
||||
Rendering=null
|
||||
antialiasing=2
|
||||
generate_mipmaps=false
|
||||
multichannel_signed_distance_field=false
|
||||
msdf_pixel_range=8
|
||||
msdf_size=48
|
||||
allow_system_fallback=true
|
||||
force_autohinter=false
|
||||
hinting=2
|
||||
subpixel_positioning=1
|
||||
oversampling=0.8
|
||||
Fallbacks=null
|
||||
fallbacks=[]
|
||||
Compress=null
|
||||
compress=true
|
||||
preload=[{
|
||||
"chars": [],
|
||||
"glyphs": [],
|
||||
"name": "New Configuration",
|
||||
"size": Vector2i(16, 0),
|
||||
"variation_embolden": 0.0
|
||||
}]
|
||||
language_support={}
|
||||
script_support={}
|
||||
opentype_features={}
|
BIN
assets/lines.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
34
assets/lines.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://tyvdq4i2kfx7"
|
||||
path="res://.godot/imported/lines.png-3e6a4098338c21cabbadb00363601bdf.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/lines.png"
|
||||
dest_files=["res://.godot/imported/lines.png-3e6a4098338c21cabbadb00363601bdf.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
|
BIN
assets/meow.wav
Normal file
24
assets/meow.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://wc2udhbh21la"
|
||||
path="res://.godot/imported/meow.wav-ab4f6e9438cd14a91feb98baed1a18bb.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/meow.wav"
|
||||
dest_files=["res://.godot/imported/meow.wav-ab4f6e9438cd14a91feb98baed1a18bb.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=0
|
BIN
assets/plr/face.png
Normal file
After Width: | Height: | Size: 765 B |
34
assets/plr/face.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cw5k2tw74rt44"
|
||||
path="res://.godot/imported/face.png-74e3633d4c4b722859cdc1fa4b46e775.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/plr/face.png"
|
||||
dest_files=["res://.godot/imported/face.png-74e3633d4c4b722859cdc1fa4b46e775.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
|
BIN
assets/plr/head.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
34
assets/plr/head.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bhoi16v2lge5s"
|
||||
path="res://.godot/imported/head.png-cf86682d27de41a040aadc098cefa2c3.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/plr/head.png"
|
||||
dest_files=["res://.godot/imported/head.png-cf86682d27de41a040aadc098cefa2c3.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
|
BIN
assets/plr/tail.png
Normal file
After Width: | Height: | Size: 954 B |
34
assets/plr/tail.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://vc4ntnaq4xo8"
|
||||
path="res://.godot/imported/tail.png-719dfa491b024641a32a27f250a037d8.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/plr/tail.png"
|
||||
dest_files=["res://.godot/imported/tail.png-719dfa491b024641a32a27f250a037d8.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
|
BIN
assets/plr/torso.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
34
assets/plr/torso.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://e61exatotusn"
|
||||
path="res://.godot/imported/torso.png-071c101d087b247655dd74818644ae11.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/plr/torso.png"
|
||||
dest_files=["res://.godot/imported/torso.png-071c101d087b247655dd74818644ae11.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
|
BIN
assets/spritesheet01.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
34
assets/spritesheet01.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://qbyvdl153l58"
|
||||
path="res://.godot/imported/spritesheet01.png-ea122033c647b9e5598edc3dbb6e4d54.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spritesheet01.png"
|
||||
dest_files=["res://.godot/imported/spritesheet01.png-ea122033c647b9e5598edc3dbb6e4d54.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
|
BIN
assets/textbox.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
34
assets/textbox.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b2wwc74rumj6b"
|
||||
path="res://.godot/imported/textbox.png-d6c24738881ee746f8b556a776544dcb.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/textbox.png"
|
||||
dest_files=["res://.godot/imported/textbox.png-d6c24738881ee746f8b556a776544dcb.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
|
1
icon.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg height="128" width="128" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="2" width="124" height="124" rx="14" fill="#363d52" stroke="#212532" stroke-width="4"/><g transform="scale(.101) translate(122 122)"><g fill="#fff"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 813 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H447l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c3 34 55 34 58 0v-86c-3-34-55-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></g></svg>
|
After Width: | Height: | Size: 950 B |
37
icon.svg.import
Normal file
@ -0,0 +1,37 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://xy63upno21jg"
|
||||
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
|
184
lines.tscn
Normal file
@ -0,0 +1,184 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://cab0u1jewvqun"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://tyvdq4i2kfx7" path="res://assets/lines.png" id="1_pcy5j"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_5rlqc"]
|
||||
texture = ExtResource("1_pcy5j")
|
||||
texture_region_size = Vector2i(10, 10)
|
||||
0:7/0 = 0
|
||||
0:7/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
0:7/0/physics_layer_0/angular_velocity = 0.0
|
||||
1:7/0 = 0
|
||||
1:7/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
1:7/0/physics_layer_0/angular_velocity = 0.0
|
||||
2:7/0 = 0
|
||||
2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
2:7/0/physics_layer_0/angular_velocity = 0.0
|
||||
3:7/0 = 0
|
||||
3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
3:7/0/physics_layer_0/angular_velocity = 0.0
|
||||
4:7/0 = 0
|
||||
4:7/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
4:7/0/physics_layer_0/angular_velocity = 0.0
|
||||
5:7/0 = 0
|
||||
5:7/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
5:7/0/physics_layer_0/angular_velocity = 0.0
|
||||
5:6/0 = 0
|
||||
5:6/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
5:6/0/physics_layer_0/angular_velocity = 0.0
|
||||
4:6/0 = 0
|
||||
4:6/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
4:6/0/physics_layer_0/angular_velocity = 0.0
|
||||
3:6/0 = 0
|
||||
3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
3:6/0/physics_layer_0/angular_velocity = 0.0
|
||||
2:6/0 = 0
|
||||
2:6/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
2:6/0/physics_layer_0/angular_velocity = 0.0
|
||||
1:6/0 = 0
|
||||
1:6/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
1:6/0/physics_layer_0/angular_velocity = 0.0
|
||||
0:6/0 = 0
|
||||
0:6/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
0:6/0/physics_layer_0/angular_velocity = 0.0
|
||||
1:5/0 = 0
|
||||
1:5/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
1:5/0/physics_layer_0/angular_velocity = 0.0
|
||||
1:4/0 = 0
|
||||
1:4/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
1:4/0/physics_layer_0/angular_velocity = 0.0
|
||||
1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125)
|
||||
1:3/0 = 0
|
||||
1:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
1:3/0/physics_layer_0/angular_velocity = 0.0
|
||||
1:2/0 = 0
|
||||
1:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
1:2/0/physics_layer_0/angular_velocity = 0.0
|
||||
1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125)
|
||||
0:2/0 = 0
|
||||
0:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
0:2/0/physics_layer_0/angular_velocity = 0.0
|
||||
0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125)
|
||||
0:1/0 = 0
|
||||
0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
0:1/0/physics_layer_0/angular_velocity = 0.0
|
||||
0:0/0 = 0
|
||||
0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
0:0/0/physics_layer_0/angular_velocity = 0.0
|
||||
0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125)
|
||||
0:3/0 = 0
|
||||
0:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
0:3/0/physics_layer_0/angular_velocity = 0.0
|
||||
0:4/0 = 0
|
||||
0:4/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
0:4/0/physics_layer_0/angular_velocity = 0.0
|
||||
0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125)
|
||||
0:5/0 = 0
|
||||
0:5/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
0:5/0/physics_layer_0/angular_velocity = 0.0
|
||||
1:0/0 = 0
|
||||
1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
1:0/0/physics_layer_0/angular_velocity = 0.0
|
||||
1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125)
|
||||
1:1/0 = 0
|
||||
1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
1:1/0/physics_layer_0/angular_velocity = 0.0
|
||||
2:5/0 = 0
|
||||
2:5/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
2:5/0/physics_layer_0/angular_velocity = 0.0
|
||||
2:4/0 = 0
|
||||
2:4/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
2:4/0/physics_layer_0/angular_velocity = 0.0
|
||||
2:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125)
|
||||
2:3/0 = 0
|
||||
2:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
2:3/0/physics_layer_0/angular_velocity = 0.0
|
||||
2:2/0 = 0
|
||||
2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
2:2/0/physics_layer_0/angular_velocity = 0.0
|
||||
2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125)
|
||||
2:1/0 = 0
|
||||
2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
2:1/0/physics_layer_0/angular_velocity = 0.0
|
||||
2:0/0 = 0
|
||||
2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
2:0/0/physics_layer_0/angular_velocity = 0.0
|
||||
2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125)
|
||||
3:1/0 = 0
|
||||
3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
3:1/0/physics_layer_0/angular_velocity = 0.0
|
||||
4:1/0 = 0
|
||||
4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
4:1/0/physics_layer_0/angular_velocity = 0.0
|
||||
4:0/0 = 0
|
||||
4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
4:0/0/physics_layer_0/angular_velocity = 0.0
|
||||
4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125)
|
||||
3:0/0 = 0
|
||||
3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
3:0/0/physics_layer_0/angular_velocity = 0.0
|
||||
3:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125)
|
||||
5:0/0 = 0
|
||||
5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
5:0/0/physics_layer_0/angular_velocity = 0.0
|
||||
5:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125)
|
||||
5:1/0 = 0
|
||||
5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
5:1/0/physics_layer_0/angular_velocity = 0.0
|
||||
4:2/0 = 0
|
||||
4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
4:2/0/physics_layer_0/angular_velocity = 0.0
|
||||
4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125)
|
||||
4:3/0 = 0
|
||||
4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
4:3/0/physics_layer_0/angular_velocity = 0.0
|
||||
4:4/0 = 0
|
||||
4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
4:4/0/physics_layer_0/angular_velocity = 0.0
|
||||
4:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125)
|
||||
4:5/0 = 0
|
||||
4:5/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
4:5/0/physics_layer_0/angular_velocity = 0.0
|
||||
5:5/0 = 0
|
||||
5:5/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
5:5/0/physics_layer_0/angular_velocity = 0.0
|
||||
5:4/0 = 0
|
||||
5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
5:4/0/physics_layer_0/angular_velocity = 0.0
|
||||
5:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125)
|
||||
5:3/0 = 0
|
||||
5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
5:3/0/physics_layer_0/angular_velocity = 0.0
|
||||
5:2/0 = 0
|
||||
5:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
5:2/0/physics_layer_0/angular_velocity = 0.0
|
||||
5:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125)
|
||||
3:3/0 = 0
|
||||
3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
3:3/0/physics_layer_0/angular_velocity = 0.0
|
||||
3:4/0 = 0
|
||||
3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
3:4/0/physics_layer_0/angular_velocity = 0.0
|
||||
3:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125)
|
||||
3:5/0 = 0
|
||||
3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
3:5/0/physics_layer_0/angular_velocity = 0.0
|
||||
3:2/0 = 0
|
||||
3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
3:2/0/physics_layer_0/angular_velocity = 0.0
|
||||
3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125)
|
||||
|
||||
[sub_resource type="TileSet" id="TileSet_uqloi"]
|
||||
tile_size = Vector2i(10, 10)
|
||||
physics_layer_0/collision_layer = 1
|
||||
terrain_set_0/mode = 0
|
||||
terrain_set_0/terrain_0/name = "line"
|
||||
terrain_set_0/terrain_0/color = Color(0, 0, 0, 1)
|
||||
sources/0 = SubResource("TileSetAtlasSource_5rlqc")
|
||||
|
||||
[node name="TileMap" type="TileMap"]
|
||||
tile_set = SubResource("TileSet_uqloi")
|
||||
format = 2
|
||||
layer_0/name = "lines"
|
||||
layer_1/name = "decoration"
|
||||
layer_1/tile_data = PackedInt32Array()
|
15
main.gd
Normal file
@ -0,0 +1,15 @@
|
||||
extends Node2D
|
||||
|
||||
@onready var dial = $CharacterBody2D/CanvasLayer
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
await get_tree().create_timer(3).timeout
|
||||
dial.typewrite("Oh what a wonderful day today!", load("res://assets/meow.wav"),2, false)
|
||||
await dial.Done
|
||||
dial.typewrite("I should do my chores!", load("res://assets/meow.wav"),2, true)
|
||||
await dial.Done
|
||||
$CharacterBody2D.moving = true
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
pass
|
55
main.tscn
Normal file
@ -0,0 +1,55 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://bsndq7rws8lru"]
|
||||
|
||||
[ext_resource type="Script" path="res://main.gd" id="1_lgqqv"]
|
||||
[ext_resource type="PackedScene" uid="uid://ceqnn4bkdnnkg" path="res://plr.tscn" id="1_wgp3w"]
|
||||
[ext_resource type="PackedScene" uid="uid://cab0u1jewvqun" path="res://lines.tscn" id="2_s78l6"]
|
||||
[ext_resource type="Texture2D" uid="uid://qbyvdl153l58" path="res://assets/spritesheet01.png" id="3_umasy"]
|
||||
[ext_resource type="Script" path="res://Area2D.gd" id="5_vkino"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mfrv4"]
|
||||
atlas = ExtResource("3_umasy")
|
||||
region = Rect2(64, 4, 33, 47)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5slll"]
|
||||
atlas = ExtResource("3_umasy")
|
||||
region = Rect2(7, 2, 34, 31)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_dl0fy"]
|
||||
size = Vector2(39, 20)
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
script = ExtResource("1_lgqqv")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
position = Vector2(327, 192)
|
||||
texture = SubResource("AtlasTexture_mfrv4")
|
||||
|
||||
[node name="Sprite2D2" type="Sprite2D" parent="."]
|
||||
position = Vector2(206, 179)
|
||||
texture = SubResource("AtlasTexture_5slll")
|
||||
|
||||
[node name="Sprite2D3" type="Sprite2D" parent="."]
|
||||
position = Vector2(274, 178)
|
||||
texture = SubResource("AtlasTexture_5slll")
|
||||
flip_h = true
|
||||
|
||||
[node name="TileMap" parent="." instance=ExtResource("2_s78l6")]
|
||||
layer_0/name = "decoration"
|
||||
layer_0/tile_data = PackedInt32Array(1376272, 131072, 4, 1376273, 65536, 0, 1376274, 327680, 4, 1376275, 65536, 2, 1376276, 327680, 4, 1376277, 327680, 4, 1376278, 196608, 2, 1376279, 0, 0, 1376280, 131072, 0, 1376281, 196608, 0, 1376282, 327680, 2, 1376283, 327680, 2, 1376284, 262144, 0, 1376285, 196608, 4, 1376286, 262144, 2, 1376287, 65536, 2, 1376288, 262144, 2, 1376289, 262144, 4, 1376290, 196608, 2, 1376291, 327680, 2)
|
||||
layer_1/name = "lines"
|
||||
layer_1/z_index = 1
|
||||
layer_1/tile_data = PackedInt32Array(2097173, 0, 0, 2097174, 65536, 0, 2097175, 131072, 0, 2097176, 0, 0, 2097177, 65536, 0, 2097178, 131072, 0, 2097179, 0, 0, 2097180, 65536, 0, 2097181, 131072, 0, 2097182, 0, 0, 2097183, 65536, 0, 2097184, 131072, 0, 2097185, 196608, 0, 2097186, 262144, 0, 2097187, 327680, 0, 1900580, 131072, 1610612738, 1966116, 65536, 1610612738, 2031652, 0, 1610612738, 1703972, 131072, 1610612738, 1769508, 65536, 1610612738, 1835044, 0, 1610612738, 1507364, 131072, 1610612738, 1572900, 65536, 1610612738, 1638436, 0, 1610612738, 1310756, 131072, 1610612738, 1376292, 65536, 1610612738, 1441828, 0, 1610612738, 1114148, 131072, 1610612738, 1179684, 65536, 1610612738, 1245220, 0, 1610612738, 2097171, 0, 0, 2097172, 65536, 0, 2097168, 0, 0, 2097169, 65536, 0, 2097170, 65536, 2, 2097188, 0, 6, 2097167, 0, 268435462, 1900559, 131072, 1342177284, 1966095, 196608, 1342177284, 2031631, 262144, 1342177284, 1835023, 327680, 1342177284, 1638415, 65536, 1342177282, 1703951, 131072, 1342177282, 1769487, 196608, 1342177282, 1441807, 65536, 1342177280, 1507343, 131072, 1342177280, 1572879, 196608, 1342177280, 1310735, 65536, 1342177282, 1376271, 131072, 1342177282, 1114127, 65536, 1342177282, 1179663, 131072, 1342177282, 1245199, 196608, 1342177282, 720913, 196608, 536870914, 720914, 0, 536870916, 720915, 131072, 536870916, 720916, 327680, 536870916, 720917, 0, 536870914, 720918, 131072, 536870912, 720919, 131072, 536870914, 720920, 0, 536870916, 720921, 327680, 536870914, 720922, 327680, 536870912, 720923, 262144, 536870916, 720924, 196608, 536870916, 720925, 327680, 536870912, 720926, 327680, 536870916, 720927, 262144, 536870912, 720928, 262144, 536870916, 720929, 327680, 536870914, 720930, 327680, 536870916, 720931, 327680, 536870912, 852004, 262144, 1073741828, 917540, 196608, 1073741826, 983076, 327680, 1073741826, 1048612, 65536, 1073741824, 786468, 262144, 1073741824, 1048591, 327680, 1879048194, 983055, 131072, 1879048194, 917519, 262144, 1879048194, 851983, 262144, 1879048196, 786447, 327680, 1879048192, 720912, 131072, 536870914, 720932, 0, 1610612742, 720911, 0, 1879048198)
|
||||
|
||||
[node name="CharacterBody2D" parent="." instance=ExtResource("1_wgp3w")]
|
||||
position = Vector2(266, 225)
|
||||
moving = false
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
position = Vector2(313, 196)
|
||||
script = ExtResource("5_vkino")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
position = Vector2(13, 17)
|
||||
shape = SubResource("RectangleShape2D_dl0fy")
|
||||
|
||||
[connection signal="body_entered" from="Area2D" to="Area2D" method="_on_body_entered"]
|
BIN
minibasic.ttf
Normal file
33
minibasic.ttf.import
Normal file
@ -0,0 +1,33 @@
|
||||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://dr5efgewcuwmr"
|
||||
path="res://.godot/imported/minibasic.ttf-153d0ea39bbb8ff049ab21eef9078644.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://minibasic.ttf"
|
||||
dest_files=["res://.godot/imported/minibasic.ttf-153d0ea39bbb8ff049ab21eef9078644.fontdata"]
|
||||
|
||||
[params]
|
||||
|
||||
Rendering=null
|
||||
antialiasing=1
|
||||
generate_mipmaps=false
|
||||
multichannel_signed_distance_field=false
|
||||
msdf_pixel_range=8
|
||||
msdf_size=48
|
||||
allow_system_fallback=true
|
||||
force_autohinter=false
|
||||
hinting=1
|
||||
subpixel_positioning=1
|
||||
oversampling=0.0
|
||||
Fallbacks=null
|
||||
fallbacks=[]
|
||||
Compress=null
|
||||
compress=true
|
||||
preload=[]
|
||||
language_support={}
|
||||
script_support={}
|
||||
opentype_features={}
|
46
plr.gd
Normal file
@ -0,0 +1,46 @@
|
||||
extends CharacterBody2D
|
||||
|
||||
signal interact
|
||||
signal interact2
|
||||
const SPEED = 300.0
|
||||
|
||||
@export var moving = true
|
||||
|
||||
# Get the gravity from the project settings to be synced with RigidBody nodes.
|
||||
|
||||
func handle_layer(direction):
|
||||
if round(direction.y) == -1:
|
||||
$character/body/tail.z_index = 1
|
||||
$character/body/face.visible = false
|
||||
elif round(direction.y) == 1:
|
||||
$character/body/tail.z_index = 0
|
||||
$character/body/face.visible = true
|
||||
|
||||
|
||||
func _physics_process(_delta):
|
||||
if Input.is_action_just_pressed("interact"):
|
||||
interact.emit()
|
||||
if Input.is_action_just_pressed("interact 2"):
|
||||
interact2.emit()
|
||||
if not moving: return
|
||||
|
||||
# Get the input direction and handle the movement/deceleration.
|
||||
# As good practice, you should replace UI actions with custom gawameplay actions.
|
||||
var direction = Input.get_vector("left","right","up","down")
|
||||
if direction == Vector2(0,0):
|
||||
$AnimationPlayer.current_animation = "idle"
|
||||
else:
|
||||
handle_layer(direction)
|
||||
|
||||
print(direction.x)
|
||||
if not direction.x == 0:
|
||||
|
||||
$character.scale.x = round(direction.x)
|
||||
$AnimationPlayer.current_animation = "walk"
|
||||
else:
|
||||
$AnimationPlayer.current_animation = "vmove"
|
||||
|
||||
velocity = direction * SPEED
|
||||
|
||||
|
||||
move_and_slide()
|
567
plr.tscn
Normal file
@ -0,0 +1,567 @@
|
||||
[gd_scene load_steps=17 format=3 uid="uid://ceqnn4bkdnnkg"]
|
||||
|
||||
[ext_resource type="Script" path="res://plr.gd" id="1_37nf0"]
|
||||
[ext_resource type="Texture2D" uid="uid://cw5k2tw74rt44" path="res://assets/plr/face.png" id="1_kh4l2"]
|
||||
[ext_resource type="Texture2D" uid="uid://vc4ntnaq4xo8" path="res://assets/plr/tail.png" id="2_26rkd"]
|
||||
[ext_resource type="Texture2D" uid="uid://bhoi16v2lge5s" path="res://assets/plr/head.png" id="2_ylo5j"]
|
||||
[ext_resource type="Texture2D" uid="uid://e61exatotusn" path="res://assets/plr/torso.png" id="3_llt4k"]
|
||||
[ext_resource type="Texture2D" uid="uid://b2wwc74rumj6b" path="res://assets/textbox.png" id="5_ljw5m"]
|
||||
[ext_resource type="Script" path="res://typewrite.gd" id="6_bjl34"]
|
||||
[ext_resource type="FontFile" uid="uid://dit6605nx68qb" path="res://HackerBasic.ttf" id="6_m1vy8"]
|
||||
[ext_resource type="AudioStream" uid="uid://wc2udhbh21la" path="res://assets/meow.wav" id="9_kn63i"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_kxab8"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("character/body/face:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(18, 17)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("character/body/face:rotation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("character/body/head:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(16, 24)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("character/body/head:rotation")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("character/body/torso:position")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(16, 24)]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("character/body/torso:rotation")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("character/body/torso:skew")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/imported = false
|
||||
tracks/7/enabled = true
|
||||
tracks/7/path = NodePath("character/body/tail:position")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(15, 35)]
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/imported = false
|
||||
tracks/8/enabled = true
|
||||
tracks/8/path = NodePath("character/body/tail:rotation")
|
||||
tracks/8/interp = 1
|
||||
tracks/8/loop_wrap = true
|
||||
tracks/8/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_qoxyi"]
|
||||
resource_name = "idle"
|
||||
length = 2.1
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("character/body/face:position")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.3, 1, 1.2, 2),
|
||||
"transitions": PackedFloat32Array(1.68179, 1.68179, 1.68179, 1.68179, 1.68179),
|
||||
"update": 0,
|
||||
"values": [Vector2(18, 17), Vector2(18, 17), Vector2(18, 19), Vector2(18, 19), Vector2(18, 17)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("character/body/face:rotation")
|
||||
tracks/1/interp = 2
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.3, 1, 1.2, 2),
|
||||
"transitions": PackedFloat32Array(1.68179, 1.68179, 1.68179, 1.68179, 1.68179),
|
||||
"update": 0,
|
||||
"values": [0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("character/body/head:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 1, 2),
|
||||
"transitions": PackedFloat32Array(1.46409, 1.46409, 1.46409),
|
||||
"update": 0,
|
||||
"values": [Vector2(16, 24), Vector2(16, 26), Vector2(16, 24)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("character/body/head:rotation")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 1, 2),
|
||||
"transitions": PackedFloat32Array(1.46409, 1.46409, 1.46409),
|
||||
"update": 0,
|
||||
"values": [0.0, 0.0, 0.0]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("character/body/torso:position")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(),
|
||||
"transitions": PackedFloat32Array(),
|
||||
"update": 0,
|
||||
"values": []
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("character/body/torso:rotation")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0, 2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 0.0]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("character/body/tail:position")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = {
|
||||
"times": PackedFloat32Array(),
|
||||
"transitions": PackedFloat32Array(),
|
||||
"update": 0,
|
||||
"values": []
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/imported = false
|
||||
tracks/7/enabled = true
|
||||
tracks/7/path = NodePath("character/body/tail:rotation")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = {
|
||||
"times": PackedFloat32Array(),
|
||||
"transitions": PackedFloat32Array(),
|
||||
"update": 0,
|
||||
"values": []
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/imported = false
|
||||
tracks/8/enabled = true
|
||||
tracks/8/path = NodePath("character/body/tail:position")
|
||||
tracks/8/interp = 1
|
||||
tracks/8/loop_wrap = true
|
||||
tracks/8/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(15, 35), Vector2(15, 35)]
|
||||
}
|
||||
tracks/9/type = "value"
|
||||
tracks/9/imported = false
|
||||
tracks/9/enabled = true
|
||||
tracks/9/path = NodePath("character/body/tail:rotation")
|
||||
tracks/9/interp = 1
|
||||
tracks/9/loop_wrap = true
|
||||
tracks/9/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 0.176244]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_hwcro"]
|
||||
resource_name = "vmove"
|
||||
length = 2.0
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("character/body/torso:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(),
|
||||
"transitions": PackedFloat32Array(),
|
||||
"update": 0,
|
||||
"values": []
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("character/body/torso:rotation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("character/body/head:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(16, 24), Vector2(16, 26)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("character/body/head:rotation")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 0.0]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("character/body/face:position")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(16, 17), Vector2(16, 21)]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("character/body/face:rotation")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 0.0]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("character/body/torso:skew")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = {
|
||||
"times": PackedFloat32Array(0.0001, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0593412, 0.010472]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/imported = false
|
||||
tracks/7/enabled = true
|
||||
tracks/7/path = NodePath("character/body/tail:position")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(15, 35), Vector2(15, 35)]
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/imported = false
|
||||
tracks/8/enabled = true
|
||||
tracks/8/path = NodePath("character/body/tail:rotation")
|
||||
tracks/8/interp = 1
|
||||
tracks/8/loop_wrap = true
|
||||
tracks/8/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 0.176244]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_hhtsg"]
|
||||
resource_name = "walk"
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("character/body/face:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(21, 17), Vector2(21, 19)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("character/body/face:rotation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 0.0]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("character/body/head:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(19, 24), Vector2(19, 25)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("character/body/head:rotation")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 0.0]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("character/body/torso:position")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(16, 24), Vector2(17, 24)]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("character/body/torso:rotation")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0.052949, 0.052949]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("character/body/tail:position")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(15, 35), Vector2(15, 35)]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/imported = false
|
||||
tracks/7/enabled = true
|
||||
tracks/7/path = NodePath("character/body/tail:rotation")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 0.176244]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_8tlfi"]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_kxab8"),
|
||||
"idle": SubResource("Animation_qoxyi"),
|
||||
"vmove": SubResource("Animation_hwcro"),
|
||||
"walk": SubResource("Animation_hhtsg")
|
||||
}
|
||||
|
||||
[sub_resource type="Theme" id="Theme_lpkn8"]
|
||||
RichTextLabel/colors/default_color = Color(0, 0, 0, 1)
|
||||
RichTextLabel/colors/font_outline_color = Color(0.478431, 0.478431, 0.478431, 1)
|
||||
RichTextLabel/constants/line_separation = -9
|
||||
RichTextLabel/font_sizes/normal_font_size = 34
|
||||
RichTextLabel/fonts/normal_font = ExtResource("6_m1vy8")
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_171aa"]
|
||||
size = Vector2(24, 15)
|
||||
|
||||
[node name="CharacterBody2D" type="CharacterBody2D"]
|
||||
script = ExtResource("1_37nf0")
|
||||
|
||||
[node name="character" type="Node2D" parent="."]
|
||||
|
||||
[node name="body" type="Node2D" parent="character"]
|
||||
position = Vector2(-17, 0)
|
||||
|
||||
[node name="tail" type="Node2D" parent="character/body"]
|
||||
position = Vector2(15, 35)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="character/body/tail"]
|
||||
texture_filter = 1
|
||||
position = Vector2(-3, -18)
|
||||
texture = ExtResource("2_26rkd")
|
||||
centered = false
|
||||
|
||||
[node name="torso" type="Node2D" parent="character/body"]
|
||||
position = Vector2(16, 24)
|
||||
|
||||
[node name="Sprite2D3" type="Sprite2D" parent="character/body/torso"]
|
||||
texture_filter = 1
|
||||
position = Vector2(-11, -2)
|
||||
texture = ExtResource("3_llt4k")
|
||||
centered = false
|
||||
|
||||
[node name="head" type="Node2D" parent="character/body"]
|
||||
position = Vector2(16, 24)
|
||||
|
||||
[node name="Sprite2D2" type="Sprite2D" parent="character/body/head"]
|
||||
texture_filter = 1
|
||||
position = Vector2(-16, -24)
|
||||
texture = ExtResource("2_ylo5j")
|
||||
centered = false
|
||||
|
||||
[node name="face" type="Node2D" parent="character/body"]
|
||||
position = Vector2(18, 17)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="character/body/face"]
|
||||
texture_filter = 1
|
||||
position = Vector2(-5, -4)
|
||||
texture = ExtResource("1_kh4l2")
|
||||
centered = false
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_8tlfi")
|
||||
}
|
||||
autoplay = "idle"
|
||||
blend_times = [&"idle", &"vmove", 0.3, &"idle", &"walk", 0.3, &"vmove", &"idle", 1.0, &"vmove", &"walk", 0.3, &"walk", &"idle", 1.0, &"walk", &"vmove", 0.3]
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
visible = false
|
||||
script = ExtResource("6_bjl34")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="CanvasLayer"]
|
||||
texture_filter = 1
|
||||
position = Vector2(144, 6)
|
||||
texture = ExtResource("5_ljw5m")
|
||||
centered = false
|
||||
|
||||
[node name="RichTextLabel" type="RichTextLabel" parent="CanvasLayer/Sprite2D"]
|
||||
modulate = Color(1, 1, 1, 0.407843)
|
||||
clip_contents = false
|
||||
offset_left = 18.0
|
||||
offset_top = 9.0
|
||||
offset_right = 295.0
|
||||
offset_bottom = 99.0
|
||||
theme = SubResource("Theme_lpkn8")
|
||||
scroll_active = false
|
||||
|
||||
[node name="Control" type="Control" parent="CanvasLayer"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="CanvasLayer"]
|
||||
stream = ExtResource("9_kn63i")
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="."]
|
||||
position = Vector2(-1, -1)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(-2, 28.5)
|
||||
shape = SubResource("RectangleShape2D_171aa")
|
67
project.godot
Normal file
@ -0,0 +1,67 @@
|
||||
; 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="Acerola Jam"
|
||||
config/features=PackedStringArray("4.2", "Forward Plus")
|
||||
boot_splash/bg_color=Color(1, 1, 1, 1)
|
||||
config/icon="res://icon.svg"
|
||||
|
||||
[display]
|
||||
|
||||
window/size/viewport_width=576
|
||||
window/size/viewport_height=324
|
||||
window/size/resizable=false
|
||||
window/size/window_width_override=1152
|
||||
window/size/window_height_override=648
|
||||
window/stretch/mode="canvas_items"
|
||||
window/stretch/scale_mode="integer"
|
||||
|
||||
[input]
|
||||
|
||||
left={
|
||||
"deadzone": 0.5,
|
||||
"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,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
right={
|
||||
"deadzone": 0.5,
|
||||
"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,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
up={
|
||||
"deadzone": 0.5,
|
||||
"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,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
down={
|
||||
"deadzone": 0.5,
|
||||
"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,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
interact={
|
||||
"deadzone": 0.5,
|
||||
"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":4194309,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
"interact 2"={
|
||||
"deadzone": 0.5,
|
||||
"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":32,"key_label":0,"unicode":32,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
[rendering]
|
||||
|
||||
textures/canvas_textures/default_texture_filter=0
|
||||
textures/decals/filter=0
|
||||
textures/light_projectors/filter=0
|
||||
environment/volumetric_fog/use_filter=0
|
||||
environment/defaults/default_clear_color=Color(0.835294, 0.835294, 0.835294, 1)
|
19
typewrite.gd
Normal file
@ -0,0 +1,19 @@
|
||||
extends CanvasLayer
|
||||
|
||||
@onready var label = $Sprite2D/RichTextLabel
|
||||
signal Done
|
||||
|
||||
func typewrite(text,sound,speed, hide_after):
|
||||
visible = true
|
||||
label.text = text
|
||||
label.visible_characters = 0
|
||||
$AudioStreamPlayer.stream = sound
|
||||
var wait_time = speed / len(text)
|
||||
for i in range(len(text)+1):
|
||||
label.visible_characters = i
|
||||
$AudioStreamPlayer.play()
|
||||
await get_tree().create_timer(wait_time).timeout
|
||||
await get_parent().interact
|
||||
if hide_after:
|
||||
visible = false
|
||||
Done.emit()
|