feat: add bars + more anims

This commit is contained in:
newt 2024-08-17 22:39:51 +01:00
parent 117d17f69d
commit d9bc66acc0
25 changed files with 791 additions and 303 deletions

Binary file not shown.

View file

@ -0,0 +1,14 @@
[remap]
importer="aseprite_wizard.plugin.noop"
type="PackedDataContainer"
uid="uid://2g8hbnap6s5a"
path="res://.godot/imported/Viruling.aseprite-f412110448d264873303b17f07c6def6.res"
[deps]
source_file="res://assets/Viruling.aseprite"
dest_files=["res://.godot/imported/Viruling.aseprite-f412110448d264873303b17f07c6def6.res"]
[params]

BIN
assets/bars.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

34
assets/bars.jpg.import Normal file
View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://8trlh7j2pkam"
path="res://.godot/imported/bars.jpg-cab2dec6a2095b0b47f5525c278f01e5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/bars.jpg"
dest_files=["res://.godot/imported/bars.jpg-cab2dec6a2095b0b47f5525c278f01e5.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/export/player-.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://wg4a6srri5sa"
path="res://.godot/imported/player-.png-6120af0e1813dedc7607e4f99506416b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/export/player-.png"
dest_files=["res://.godot/imported/player-.png-6120af0e1813dedc7607e4f99506416b.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c0kd8wu2yvssc"
path="res://.godot/imported/player-Layer 4.png-e87abd4355ca2452a56cf19bd4f3b0ec.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/export/player-Layer 4.png"
dest_files=["res://.godot/imported/player-Layer 4.png-e87abd4355ca2452a56cf19bd4f3b0ec.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d4mjdwhmho5vs"
path="res://.godot/imported/player-Layer 5.png-f6df3f22bdd8a4f3b2a581cc00ceda44.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/export/player-Layer 5.png"
dest_files=["res://.godot/imported/player-Layer 5.png-f6df3f22bdd8a4f3b2a581cc00ceda44.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bfw5h4af15wth"
path="res://.godot/imported/player-Layer 6.png-f1cf81b1232504e250c598018d463c5c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/export/player-Layer 6.png"
dest_files=["res://.godot/imported/player-Layer 6.png-f1cf81b1232504e250c598018d463c5c.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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 100 B

View file

@ -1,14 +0,0 @@
[remap]
importer="aseprite_wizard.plugin.noop"
type="PackedDataContainer"
uid="uid://2g8hbnap6s5a"
path="res://.godot/imported/viruling_spin.aseprite-2addb3a6357cbfdfd34eecd5833985aa.res"
[deps]
source_file="res://assets/viruling_spin.aseprite"
dest_files=["res://.godot/imported/viruling_spin.aseprite-2addb3a6357cbfdfd34eecd5833985aa.res"]
[params]

15
components/Bars.tscn Normal file
View file

@ -0,0 +1,15 @@
[gd_scene load_steps=2 format=3 uid="uid://clptnshbcs6cn"]
[ext_resource type="Texture2D" uid="uid://8trlh7j2pkam" path="res://assets/bars.jpg" id="1_ryukb"]
[node name="Bars" type="Control"]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="TextureRect" type="TextureRect" parent="."]
layout_mode = 0
offset_right = 640.0
offset_bottom = 360.0
texture = ExtResource("1_ryukb")

View file

@ -6,7 +6,7 @@ distance = -184.0
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_wodb0"] [sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_wodb0"]
normal = Vector2(-1, 0) normal = Vector2(-1, 0)
distance = -208.0 distance = -216.0
[node name="Borders" type="Node2D"] [node name="Borders" type="Node2D"]

View file

@ -1,260 +1,382 @@
[gd_scene load_steps=45 format=3 uid="uid://cjiuycwqqxaxn"] [gd_scene load_steps=69 format=3 uid="uid://cjiuycwqqxaxn"]
[ext_resource type="Script" path="res://scripts/player.gd" id="1_oy25y"] [ext_resource type="Script" path="res://scripts/player.gd" id="1_oy25y"]
[ext_resource type="Texture2D" uid="uid://cownabyc1p26u" path="res://assets/export/playerLayer 3.png" id="2_5c6qp"] [ext_resource type="Texture2D" uid="uid://d4mjdwhmho5vs" path="res://assets/export/player-Layer 5.png" id="2_3onpl"]
[sub_resource type="AtlasTexture" id="AtlasTexture_6hs0l"] [sub_resource type="AtlasTexture" id="AtlasTexture_5rm71"]
atlas = ExtResource("2_5c6qp") atlas = ExtResource("2_3onpl")
region = Rect2(128, 256, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_7slh2"]
atlas = ExtResource("2_5c6qp")
region = Rect2(160, 256, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_io1xr"]
atlas = ExtResource("2_5c6qp")
region = Rect2(192, 256, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_vh4hn"]
atlas = ExtResource("2_5c6qp")
region = Rect2(0, 320, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_wwamw"]
atlas = ExtResource("2_5c6qp")
region = Rect2(32, 320, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_nens7"]
atlas = ExtResource("2_5c6qp")
region = Rect2(64, 320, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_xnw82"]
atlas = ExtResource("2_5c6qp")
region = Rect2(96, 320, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_sv3rw"]
atlas = ExtResource("2_5c6qp")
region = Rect2(0, 0, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_kldb3"]
atlas = ExtResource("2_5c6qp")
region = Rect2(128, 192, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_daegq"]
atlas = ExtResource("2_5c6qp")
region = Rect2(160, 192, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_c3qy7"]
atlas = ExtResource("2_5c6qp")
region = Rect2(192, 192, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_5iowx"]
atlas = ExtResource("2_5c6qp")
region = Rect2(0, 256, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_2f5nd"]
atlas = ExtResource("2_5c6qp")
region = Rect2(32, 256, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_xuig4"]
atlas = ExtResource("2_5c6qp")
region = Rect2(64, 256, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_uk8ao"]
atlas = ExtResource("2_5c6qp")
region = Rect2(96, 256, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_6wkkf"]
atlas = ExtResource("2_5c6qp")
region = Rect2(32, 0, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_mecdt"]
atlas = ExtResource("2_5c6qp")
region = Rect2(64, 0, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_pvo15"]
atlas = ExtResource("2_5c6qp")
region = Rect2(96, 0, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_fcvkv"]
atlas = ExtResource("2_5c6qp")
region = Rect2(128, 0, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_ejt0g"]
atlas = ExtResource("2_5c6qp")
region = Rect2(160, 0, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_l4s6u"]
atlas = ExtResource("2_5c6qp")
region = Rect2(192, 0, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_qw5vg"]
atlas = ExtResource("2_5c6qp")
region = Rect2(0, 64, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_agdq2"]
atlas = ExtResource("2_5c6qp")
region = Rect2(32, 64, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_1qa8b"]
atlas = ExtResource("2_5c6qp")
region = Rect2(64, 64, 32, 64) region = Rect2(64, 64, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_a5wcc"] [sub_resource type="AtlasTexture" id="AtlasTexture_jamhg"]
atlas = ExtResource("2_5c6qp") atlas = ExtResource("2_3onpl")
region = Rect2(96, 64, 32, 64) region = Rect2(64, 448, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_5ra6k"] [sub_resource type="AtlasTexture" id="AtlasTexture_ofsgw"]
atlas = ExtResource("2_5c6qp") atlas = ExtResource("2_3onpl")
region = Rect2(128, 64, 32, 64) region = Rect2(96, 448, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_l1grw"] [sub_resource type="AtlasTexture" id="AtlasTexture_yp03j"]
atlas = ExtResource("2_5c6qp") atlas = ExtResource("2_3onpl")
region = Rect2(160, 64, 32, 64) region = Rect2(128, 448, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_gae7w"] [sub_resource type="AtlasTexture" id="AtlasTexture_qa0a4"]
atlas = ExtResource("2_5c6qp") atlas = ExtResource("2_3onpl")
region = Rect2(192, 64, 32, 64) region = Rect2(160, 448, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_p0xeb"] [sub_resource type="AtlasTexture" id="AtlasTexture_p63im"]
atlas = ExtResource("2_5c6qp") atlas = ExtResource("2_3onpl")
region = Rect2(0, 128, 32, 64) region = Rect2(192, 448, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_tuo0l"] [sub_resource type="AtlasTexture" id="AtlasTexture_tf3dj"]
atlas = ExtResource("2_5c6qp") atlas = ExtResource("2_3onpl")
region = Rect2(32, 128, 32, 64) region = Rect2(0, 0, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_iygu1"] [sub_resource type="AtlasTexture" id="AtlasTexture_0cek1"]
atlas = ExtResource("2_5c6qp") atlas = ExtResource("2_3onpl")
region = Rect2(64, 128, 32, 64) region = Rect2(0, 384, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_nlq48"] [sub_resource type="AtlasTexture" id="AtlasTexture_xj08a"]
atlas = ExtResource("2_5c6qp") atlas = ExtResource("2_3onpl")
region = Rect2(96, 128, 32, 64) region = Rect2(32, 384, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_581d4"] [sub_resource type="AtlasTexture" id="AtlasTexture_vtaxe"]
atlas = ExtResource("2_5c6qp") atlas = ExtResource("2_3onpl")
region = Rect2(128, 128, 32, 64) region = Rect2(64, 384, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_depii"] [sub_resource type="AtlasTexture" id="AtlasTexture_3pkk7"]
atlas = ExtResource("2_5c6qp") atlas = ExtResource("2_3onpl")
region = Rect2(160, 128, 32, 64) region = Rect2(96, 384, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_nsu0f"] [sub_resource type="AtlasTexture" id="AtlasTexture_tuk3a"]
atlas = ExtResource("2_5c6qp") atlas = ExtResource("2_3onpl")
region = Rect2(192, 128, 32, 64) region = Rect2(128, 384, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_kdf7b"] [sub_resource type="AtlasTexture" id="AtlasTexture_jxa3i"]
atlas = ExtResource("2_5c6qp") atlas = ExtResource("2_3onpl")
region = Rect2(0, 192, 32, 64) region = Rect2(160, 384, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_dvo1k"] [sub_resource type="AtlasTexture" id="AtlasTexture_52xjq"]
atlas = ExtResource("2_5c6qp") atlas = ExtResource("2_3onpl")
region = Rect2(192, 384, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_8ljd1"]
atlas = ExtResource("2_3onpl")
region = Rect2(224, 384, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_pcd2c"]
atlas = ExtResource("2_3onpl")
region = Rect2(0, 448, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_7y6pf"]
atlas = ExtResource("2_3onpl")
region = Rect2(32, 448, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_oqfjm"]
atlas = ExtResource("2_3onpl")
region = Rect2(96, 320, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_rasii"]
atlas = ExtResource("2_3onpl")
region = Rect2(128, 320, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_smuq0"]
atlas = ExtResource("2_3onpl")
region = Rect2(160, 320, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_vqtny"]
atlas = ExtResource("2_3onpl")
region = Rect2(192, 320, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_aanm4"]
atlas = ExtResource("2_3onpl")
region = Rect2(224, 320, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_iuibj"]
atlas = ExtResource("2_3onpl")
region = Rect2(32, 0, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_s0gwv"]
atlas = ExtResource("2_3onpl")
region = Rect2(64, 0, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_rc3yv"]
atlas = ExtResource("2_3onpl")
region = Rect2(96, 0, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_310mq"]
atlas = ExtResource("2_3onpl")
region = Rect2(128, 0, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_4am2b"]
atlas = ExtResource("2_3onpl")
region = Rect2(160, 0, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_x8hc4"]
atlas = ExtResource("2_3onpl")
region = Rect2(192, 0, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_uv38i"]
atlas = ExtResource("2_3onpl")
region = Rect2(224, 0, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_usdlg"]
atlas = ExtResource("2_3onpl")
region = Rect2(0, 64, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_oagyd"]
atlas = ExtResource("2_3onpl")
region = Rect2(32, 64, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_8wqr8"]
atlas = ExtResource("2_3onpl")
region = Rect2(32, 192, 32, 64) region = Rect2(32, 192, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_nuos6"] [sub_resource type="AtlasTexture" id="AtlasTexture_pls5s"]
atlas = ExtResource("2_5c6qp") atlas = ExtResource("2_3onpl")
region = Rect2(64, 192, 32, 64) region = Rect2(64, 192, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_fgj7i"] [sub_resource type="AtlasTexture" id="AtlasTexture_k24hx"]
atlas = ExtResource("2_5c6qp") atlas = ExtResource("2_3onpl")
region = Rect2(96, 192, 32, 64) region = Rect2(96, 192, 32, 64)
[sub_resource type="SpriteFrames" id="SpriteFrames_o2lgd"] [sub_resource type="AtlasTexture" id="AtlasTexture_wc60g"]
atlas = ExtResource("2_3onpl")
region = Rect2(128, 192, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_j6fn1"]
atlas = ExtResource("2_3onpl")
region = Rect2(160, 192, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_nmjeg"]
atlas = ExtResource("2_3onpl")
region = Rect2(192, 192, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_byhmk"]
atlas = ExtResource("2_3onpl")
region = Rect2(224, 192, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_770dj"]
atlas = ExtResource("2_3onpl")
region = Rect2(128, 256, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_grepc"]
atlas = ExtResource("2_3onpl")
region = Rect2(32, 320, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_g5de2"]
atlas = ExtResource("2_3onpl")
region = Rect2(64, 320, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_y0jgo"]
atlas = ExtResource("2_3onpl")
region = Rect2(160, 256, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_3pm06"]
atlas = ExtResource("2_3onpl")
region = Rect2(192, 256, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_36v0p"]
atlas = ExtResource("2_3onpl")
region = Rect2(224, 256, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_lftgj"]
atlas = ExtResource("2_3onpl")
region = Rect2(0, 320, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_1p51i"]
atlas = ExtResource("2_3onpl")
region = Rect2(0, 256, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_m71pv"]
atlas = ExtResource("2_3onpl")
region = Rect2(32, 256, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_krhxx"]
atlas = ExtResource("2_3onpl")
region = Rect2(64, 256, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_7fe2a"]
atlas = ExtResource("2_3onpl")
region = Rect2(96, 256, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_842j5"]
atlas = ExtResource("2_3onpl")
region = Rect2(96, 64, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_q85y5"]
atlas = ExtResource("2_3onpl")
region = Rect2(128, 64, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_ugtgg"]
atlas = ExtResource("2_3onpl")
region = Rect2(160, 64, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_8bm1c"]
atlas = ExtResource("2_3onpl")
region = Rect2(192, 64, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_2hu87"]
atlas = ExtResource("2_3onpl")
region = Rect2(224, 64, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_wgg1r"]
atlas = ExtResource("2_3onpl")
region = Rect2(0, 128, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_fsjxu"]
atlas = ExtResource("2_3onpl")
region = Rect2(32, 128, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_8scku"]
atlas = ExtResource("2_3onpl")
region = Rect2(64, 128, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_f2w38"]
atlas = ExtResource("2_3onpl")
region = Rect2(96, 128, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_vckuv"]
atlas = ExtResource("2_3onpl")
region = Rect2(128, 128, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_c5tjt"]
atlas = ExtResource("2_3onpl")
region = Rect2(160, 128, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_7r7et"]
atlas = ExtResource("2_3onpl")
region = Rect2(192, 128, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_0a6bp"]
atlas = ExtResource("2_3onpl")
region = Rect2(224, 128, 32, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_fojwj"]
atlas = ExtResource("2_3onpl")
region = Rect2(0, 192, 32, 64)
[sub_resource type="SpriteFrames" id="SpriteFrames_nn403"]
animations = [{ animations = [{
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_6hs0l") "texture": SubResource("AtlasTexture_5rm71")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_7slh2") "texture": SubResource("AtlasTexture_jamhg")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_io1xr") "texture": SubResource("AtlasTexture_ofsgw")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_vh4hn") "texture": SubResource("AtlasTexture_yp03j")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_wwamw") "texture": SubResource("AtlasTexture_qa0a4")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_nens7") "texture": SubResource("AtlasTexture_yp03j")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_xnw82") "texture": SubResource("AtlasTexture_p63im")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5rm71")
}], }],
"loop": true, "loop": true,
"name": &" punch", "name": &"air-kick",
"speed": 10.0 "speed": 10.0
}, { }, {
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_sv3rw") "texture": SubResource("AtlasTexture_tf3dj")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_kldb3") "texture": SubResource("AtlasTexture_0cek1")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_daegq") "texture": SubResource("AtlasTexture_xj08a")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_c3qy7") "texture": SubResource("AtlasTexture_vtaxe")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_5iowx") "texture": SubResource("AtlasTexture_3pkk7")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_2f5nd") "texture": SubResource("AtlasTexture_tuk3a")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_xuig4") "texture": SubResource("AtlasTexture_jxa3i")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_uk8ao") "texture": SubResource("AtlasTexture_52xjq")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_daegq") "texture": SubResource("AtlasTexture_8ljd1")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_kldb3") "texture": SubResource("AtlasTexture_pcd2c")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_sv3rw") "texture": SubResource("AtlasTexture_7y6pf")
}], }],
"loop": true, "loop": true,
"name": &"Jump", "name": &"death",
"speed": 10.0 "speed": 10.0
}, { }, {
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_sv3rw") "texture": SubResource("AtlasTexture_oqfjm")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_6wkkf") "texture": SubResource("AtlasTexture_rasii")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_mecdt") "texture": SubResource("AtlasTexture_smuq0")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_pvo15") "texture": SubResource("AtlasTexture_vqtny")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_fcvkv") "texture": SubResource("AtlasTexture_aanm4")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_ejt0g") "texture": SubResource("AtlasTexture_vqtny")
}],
"loop": true,
"name": &"hurt",
"speed": 10.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_tf3dj")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_l4s6u") "texture": SubResource("AtlasTexture_iuibj")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_qw5vg") "texture": SubResource("AtlasTexture_s0gwv")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_agdq2") "texture": SubResource("AtlasTexture_rc3yv")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_1qa8b") "texture": SubResource("AtlasTexture_310mq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4am2b")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_x8hc4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uv38i")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_usdlg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_oagyd")
}], }],
"loop": true, "loop": true,
"name": &"idle", "name": &"idle",
@ -262,49 +384,168 @@ animations = [{
}, { }, {
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_a5wcc") "texture": SubResource("AtlasTexture_tf3dj")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_5ra6k") "texture": SubResource("AtlasTexture_8wqr8")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_l1grw") "texture": SubResource("AtlasTexture_pls5s")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_gae7w") "texture": SubResource("AtlasTexture_k24hx")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_p0xeb") "texture": SubResource("AtlasTexture_wc60g")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_tuo0l") "texture": SubResource("AtlasTexture_j6fn1")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_iygu1") "texture": SubResource("AtlasTexture_nmjeg")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_nlq48") "texture": SubResource("AtlasTexture_byhmk")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_581d4") "texture": SubResource("AtlasTexture_pls5s")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_depii") "texture": SubResource("AtlasTexture_8wqr8")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_nsu0f") "texture": SubResource("AtlasTexture_tf3dj")
}],
"loop": true,
"name": &"jump",
"speed": 10.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_770dj")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_kdf7b") "texture": SubResource("AtlasTexture_grepc")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_dvo1k") "texture": SubResource("AtlasTexture_g5de2")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_nuos6") "texture": SubResource("AtlasTexture_grepc")
}],
"loop": true,
"name": &"left",
"speed": 10.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_770dj")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_fgj7i") "texture": SubResource("AtlasTexture_y0jgo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3pm06")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_36v0p")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_lftgj")
}],
"loop": true,
"name": &"right",
"speed": 10.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_tf3dj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8wqr8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pls5s")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wc60g")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_j6fn1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1p51i")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_m71pv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_krhxx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_krhxx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7fe2a")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pls5s")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8wqr8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tf3dj")
}],
"loop": true,
"name": &"slam",
"speed": 10.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_5rm71")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_842j5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_q85y5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ugtgg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8bm1c")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2hu87")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wgg1r")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_fsjxu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8scku")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_f2w38")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vckuv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_c5tjt")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7r7et")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0a6bp")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_fojwj")
}], }],
"loop": true, "loop": true,
"name": &"walk", "name": &"walk",
@ -323,29 +564,37 @@ script = ExtResource("1_oy25y")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
texture_filter = 1 texture_filter = 1
sprite_frames = SubResource("SpriteFrames_o2lgd") sprite_frames = SubResource("SpriteFrames_nn403")
animation = &" punch" animation = &"slam"
frame_progress = 0.126525 frame_progress = 0.564864
metadata/_aseprite_wizard_config_ = { metadata/_aseprite_wizard_config_ = {
"layer": "Layer 3", "layer": "Layer 5",
"o_ex_p": "", "o_ex_p": "",
"o_folder": "res://assets/export", "o_folder": "res://assets/export",
"o_name": "player", "o_name": "player-",
"only_visible": false, "only_visible": true,
"slice": "", "slice": "",
"source": "res://assets/PlayerCharacter.aseprite" "source": "res://assets/PlayerCharacter.aseprite"
} }
metadata/_aseprite_wizard_source_file_hash_ = "dd5426320f333c1fca2ec67ca43f9db7"
metadata/_aseprite_wizard_interface_config_ = { metadata/_aseprite_wizard_interface_config_ = {
"layer_section": true, "layer_section": true,
"output_section": true "output_section": true,
"slice_section": false
} }
metadata/_aseprite_wizard_source_file_hash_ = "1296d7aa2023121d72861630c3041e8c"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(2, 0) position = Vector2(2, 0)
shape = SubResource("RectangleShape2D_0on8q") shape = SubResource("RectangleShape2D_0on8q")
debug_color = Color(1, 0.254902, 0.415686, 0.105882) debug_color = Color(1, 0.254902, 0.415686, 0.105882)
[node name="PunchHitbox" type="Area2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="PunchHitbox"]
position = Vector2(29, -3)
shape = SubResource("RectangleShape2D_mst3b")
debug_color = Color(2.11775e-06, 0.631094, 0.465774, 0.42)
[node name="AttackTimer" type="Timer" parent="."] [node name="AttackTimer" type="Timer" parent="."]
editor_description = " editor_description = "
@ -353,9 +602,5 @@ editor_description = "
wait_time = 0.5 wait_time = 0.5
one_shot = true one_shot = true
[node name="PunchHitbox" type="Area2D" parent="."] [node name="DeathTimer" type="Timer" parent="."]
one_shot = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="PunchHitbox"]
position = Vector2(29, -3)
shape = SubResource("RectangleShape2D_mst3b")
debug_color = Color(2.11775e-06, 0.631094, 0.465774, 0.42)

View file

@ -6,110 +6,110 @@
[sub_resource type="CircleShape2D" id="CircleShape2D_gi7h4"] [sub_resource type="CircleShape2D" id="CircleShape2D_gi7h4"]
radius = 17.0294 radius = 17.0294
[sub_resource type="AtlasTexture" id="AtlasTexture_kidce"] [sub_resource type="AtlasTexture" id="AtlasTexture_ey3ug"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(0, 0, 32, 32) region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_qe36s"] [sub_resource type="AtlasTexture" id="AtlasTexture_yg44u"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(32, 96, 32, 32) region = Rect2(32, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ngfqf"] [sub_resource type="AtlasTexture" id="AtlasTexture_10kxp"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(64, 96, 32, 32) region = Rect2(64, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_nii03"] [sub_resource type="AtlasTexture" id="AtlasTexture_asgry"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(96, 96, 32, 32) region = Rect2(96, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_tkn6b"] [sub_resource type="AtlasTexture" id="AtlasTexture_shkjk"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(128, 96, 32, 32) region = Rect2(128, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_2r8jg"] [sub_resource type="AtlasTexture" id="AtlasTexture_n7xsd"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(0, 128, 32, 32) region = Rect2(0, 128, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_0s3k4"] [sub_resource type="AtlasTexture" id="AtlasTexture_b78uq"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(32, 0, 32, 32) region = Rect2(32, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_2h71d"] [sub_resource type="AtlasTexture" id="AtlasTexture_yk2as"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(64, 0, 32, 32) region = Rect2(64, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_45yd5"] [sub_resource type="AtlasTexture" id="AtlasTexture_bp4sa"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(96, 0, 32, 32) region = Rect2(96, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_6isb8"] [sub_resource type="AtlasTexture" id="AtlasTexture_qe65k"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(128, 0, 32, 32) region = Rect2(128, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_m6d0y"] [sub_resource type="AtlasTexture" id="AtlasTexture_ii7ue"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(0, 32, 32, 32) region = Rect2(0, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_kp48x"] [sub_resource type="AtlasTexture" id="AtlasTexture_2mb0r"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(32, 32, 32, 32) region = Rect2(32, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_rhh7o"] [sub_resource type="AtlasTexture" id="AtlasTexture_rwb2y"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(64, 32, 32, 32) region = Rect2(64, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_0l2ip"] [sub_resource type="AtlasTexture" id="AtlasTexture_muc0u"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(96, 32, 32, 32) region = Rect2(96, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_u0o6v"] [sub_resource type="AtlasTexture" id="AtlasTexture_lh2dq"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(128, 32, 32, 32) region = Rect2(128, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_hh53s"] [sub_resource type="AtlasTexture" id="AtlasTexture_ynt0w"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(0, 64, 32, 32) region = Rect2(0, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_g0xj4"] [sub_resource type="AtlasTexture" id="AtlasTexture_gys0u"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(32, 64, 32, 32) region = Rect2(32, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_smgex"] [sub_resource type="AtlasTexture" id="AtlasTexture_tspca"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(64, 64, 32, 32) region = Rect2(64, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_efhl8"] [sub_resource type="AtlasTexture" id="AtlasTexture_e81jk"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(96, 64, 32, 32) region = Rect2(96, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_smw3b"] [sub_resource type="AtlasTexture" id="AtlasTexture_4h8vk"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(128, 64, 32, 32) region = Rect2(128, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_hc7x2"] [sub_resource type="AtlasTexture" id="AtlasTexture_4j73j"]
atlas = ExtResource("1_i45rj") atlas = ExtResource("1_i45rj")
region = Rect2(0, 96, 32, 32) region = Rect2(0, 96, 32, 32)
[sub_resource type="SpriteFrames" id="SpriteFrames_01e4m"] [sub_resource type="SpriteFrames" id="SpriteFrames_paa88"]
animations = [{ animations = [{
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_kidce") "texture": SubResource("AtlasTexture_ey3ug")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_qe36s") "texture": SubResource("AtlasTexture_yg44u")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_ngfqf") "texture": SubResource("AtlasTexture_10kxp")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_nii03") "texture": SubResource("AtlasTexture_asgry")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_tkn6b") "texture": SubResource("AtlasTexture_shkjk")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_2r8jg") "texture": SubResource("AtlasTexture_n7xsd")
}], }],
"loop": true, "loop": true,
"name": &"death", "name": &"death",
@ -117,55 +117,55 @@ animations = [{
}, { }, {
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_kidce") "texture": SubResource("AtlasTexture_ey3ug")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_0s3k4") "texture": SubResource("AtlasTexture_b78uq")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_2h71d") "texture": SubResource("AtlasTexture_yk2as")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_45yd5") "texture": SubResource("AtlasTexture_bp4sa")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_6isb8") "texture": SubResource("AtlasTexture_qe65k")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_m6d0y") "texture": SubResource("AtlasTexture_ii7ue")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_kp48x") "texture": SubResource("AtlasTexture_2mb0r")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_rhh7o") "texture": SubResource("AtlasTexture_rwb2y")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_kidce") "texture": SubResource("AtlasTexture_ey3ug")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_0l2ip") "texture": SubResource("AtlasTexture_muc0u")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_u0o6v") "texture": SubResource("AtlasTexture_lh2dq")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_hh53s") "texture": SubResource("AtlasTexture_ynt0w")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_g0xj4") "texture": SubResource("AtlasTexture_gys0u")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_smgex") "texture": SubResource("AtlasTexture_tspca")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_efhl8") "texture": SubResource("AtlasTexture_e81jk")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_smw3b") "texture": SubResource("AtlasTexture_4h8vk")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_hc7x2") "texture": SubResource("AtlasTexture_4j73j")
}], }],
"loop": true, "loop": true,
"name": &"spin", "name": &"spin",
@ -185,7 +185,7 @@ shape = SubResource("CircleShape2D_gi7h4")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
texture_filter = 1 texture_filter = 1
sprite_frames = SubResource("SpriteFrames_01e4m") sprite_frames = SubResource("SpriteFrames_paa88")
animation = &"spin" animation = &"spin"
metadata/_aseprite_wizard_config_ = { metadata/_aseprite_wizard_config_ = {
"layer": "", "layer": "",
@ -194,7 +194,7 @@ metadata/_aseprite_wizard_config_ = {
"o_name": "viruling-", "o_name": "viruling-",
"only_visible": true, "only_visible": true,
"slice": "", "slice": "",
"source": "res://assets/viruling_spin.aseprite" "source": "res://assets/Viruling.aseprite"
} }
metadata/_aseprite_wizard_source_file_hash_ = "e9452ba317bc3563d2373e8b9d673cef" metadata/_aseprite_wizard_source_file_hash_ = "e9452ba317bc3563d2373e8b9d673cef"
metadata/_aseprite_wizard_interface_config_ = { metadata/_aseprite_wizard_interface_config_ = {
@ -207,7 +207,7 @@ metadata/_aseprite_wizard_interface_config_ = {
shape = SubResource("CircleShape2D_kpyhc") shape = SubResource("CircleShape2D_kpyhc")
debug_color = Color(0.972226, 0, 0.442516, 0.42) debug_color = Color(0.972226, 0, 0.442516, 0.42)
[node name="Timer" type="Timer" parent="."] [node name="AttackTimer" type="Timer" parent="."]
one_shot = true one_shot = true
[node name="DeathTimer" type="Timer" parent="."] [node name="DeathTimer" type="Timer" parent="."]

View file

@ -1,24 +1,32 @@
[gd_scene load_steps=8 format=3 uid="uid://cei5gjgfoginb"] [gd_scene load_steps=9 format=3 uid="uid://cei5gjgfoginb"]
[ext_resource type="Script" path="res://scripts/stageController.gd" id="1_m1n7w"] [ext_resource type="Script" path="res://scripts/stageController.gd" id="1_m1n7w"]
[ext_resource type="Texture2D" uid="uid://bynsxkfd4t4cn" path="res://assets/export/stage1.png" id="2_48003"] [ext_resource type="Texture2D" uid="uid://bynsxkfd4t4cn" path="res://assets/export/stage1.png" id="2_48003"]
[ext_resource type="PackedScene" uid="uid://cjiuycwqqxaxn" path="res://components/Player.tscn" id="2_sxo5w"] [ext_resource type="PackedScene" uid="uid://cjiuycwqqxaxn" path="res://components/Player.tscn" id="2_sxo5w"]
[ext_resource type="PackedScene" uid="uid://bab4ac3s2n0o1" path="res://components/Borders.tscn" id="3_04xvl"] [ext_resource type="PackedScene" uid="uid://bab4ac3s2n0o1" path="res://components/Borders.tscn" id="3_04xvl"]
[ext_resource type="PackedScene" uid="uid://bxbpvgteyfh02" path="res://components/Viruling.tscn" id="5_w7lww"] [ext_resource type="PackedScene" uid="uid://bxbpvgteyfh02" path="res://components/Viruling.tscn" id="5_w7lww"]
[ext_resource type="PackedScene" uid="uid://clptnshbcs6cn" path="res://components/Bars.tscn" id="6_u2jd3"]
[sub_resource type="QuadMesh" id="QuadMesh_seics"] [sub_resource type="QuadMesh" id="QuadMesh_seics"]
size = Vector2(480, 64) size = Vector2(480, 64)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_h5wua"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_h5wua"]
size = Vector2(480, 106) size = Vector2(492, 101)
[node name="World" type="Node2D"] [node name="World" type="Node2D"]
position = Vector2(272, 240) position = Vector2(344, 240)
script = ExtResource("1_m1n7w") script = ExtResource("1_m1n7w")
next_stage = "res://levels/level1/stage2.tscn" next_stage = "res://levels/level1/stage2.tscn"
[node name="Bars" parent="." instance=ExtResource("6_u2jd3")]
offset_left = -344.0
offset_top = -240.0
offset_right = -304.0
offset_bottom = -200.0
[node name="Background" type="Sprite2D" parent="."] [node name="Background" type="Sprite2D" parent="."]
position = Vector2(-32, -64) position = Vector2(-28, -64)
scale = Vector2(1.01667, 1)
texture = ExtResource("2_48003") texture = ExtResource("2_48003")
[node name="Borders" parent="." instance=ExtResource("3_04xvl")] [node name="Borders" parent="." instance=ExtResource("3_04xvl")]
@ -28,26 +36,41 @@ position = Vector2(-272, -240)
position = Vector2(-240, -16) position = Vector2(-240, -16)
[node name="Viruling" parent="." instance=ExtResource("5_w7lww")] [node name="Viruling" parent="." instance=ExtResource("5_w7lww")]
position = Vector2(179, -13) position = Vector2(440, -96)
[node name="Viruling2" parent="." instance=ExtResource("5_w7lww")]
position = Vector2(240, -48)
[node name="Viruling2" parent="Viruling2" instance=ExtResource("5_w7lww")]
position = Vector2(72, 40)
[node name="Viruling3" parent="." instance=ExtResource("5_w7lww")]
position = Vector2(424, -32)
[node name="Viruling4" parent="." instance=ExtResource("5_w7lww")]
position = Vector2(320, -104)
[node name="Viruling2" parent="Viruling4" instance=ExtResource("5_w7lww")]
position = Vector2(240, -48)
[node name="Floor" type="StaticBody2D" parent="."] [node name="Floor" type="StaticBody2D" parent="."]
[node name="MeshInstance2D" type="MeshInstance2D" parent="Floor"] [node name="MeshInstance2D" type="MeshInstance2D" parent="Floor"]
position = Vector2(-32, 68) position = Vector2(-28, 68)
scale = Vector2(1, 1.625) scale = Vector2(1.01667, 1.625)
mesh = SubResource("QuadMesh_seics") mesh = SubResource("QuadMesh_seics")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Floor"] [node name="CollisionShape2D" type="CollisionShape2D" parent="Floor"]
position = Vector2(-32, 69) position = Vector2(-28, 69)
shape = SubResource("RectangleShape2D_h5wua") shape = SubResource("RectangleShape2D_h5wua")
[node name="Ceiling" type="StaticBody2D" parent="."] [node name="Ceiling" type="StaticBody2D" parent="."]
[node name="MeshInstance2D" type="MeshInstance2D" parent="Ceiling"] [node name="MeshInstance2D" type="MeshInstance2D" parent="Ceiling"]
position = Vector2(-32, -192) position = Vector2(-28, -192)
scale = Vector2(1, 1.625) scale = Vector2(1.01667, 1.625)
mesh = SubResource("QuadMesh_seics") mesh = SubResource("QuadMesh_seics")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Ceiling"] [node name="CollisionShape2D" type="CollisionShape2D" parent="Ceiling"]
position = Vector2(-32, -192) position = Vector2(-30, -189.5)
shape = SubResource("RectangleShape2D_h5wua") shape = SubResource("RectangleShape2D_h5wua")

View file

@ -23,11 +23,11 @@ animation/layers/only_include_visible_layers_by_default=true
[autoload] [autoload]
GlobalKeybinds="*res://scripts/globalKeybinds.gd" GlobalKeybinds="*res://scripts/global.gd"
[display] [display]
window/size/viewport_width=480 window/size/viewport_width=640
window/size/viewport_height=360 window/size/viewport_height=360
window/stretch/mode="canvas_items" window/stretch/mode="canvas_items"
window/vsync/vsync_mode=0 window/vsync/vsync_mode=0

View file

@ -1,9 +1,9 @@
class_name Entity extends CharacterBody2D class_name Entity extends CharacterBody2D
@export var health = null var health = null
@export var speed = null var speed = null
@export var damage = null var damage = null
@export var kb_speed = null var kb_speed = null
func _init(initial_health: int, speed_multiplier: int, attack_damage: int) -> void: func _init(initial_health: int, speed_multiplier: int, attack_damage: int) -> void:
health = initial_health health = initial_health
@ -13,21 +13,17 @@ func _init(initial_health: int, speed_multiplier: int, attack_damage: int) -> vo
func _physics_process(delta: float) -> void: func _physics_process(delta: float) -> void:
var init_velocity = velocity var init_velocity = velocity
velocity.x = 0 velocity.x = 0
velocity.y = 0 velocity.y = 0
if init_velocity.x == 0: if init_velocity.x == 0:
init_velocity.x = 1 init_velocity.x = 1
if kb_speed > 0: if kb_speed > 0:
velocity.x = -sign(init_velocity.x) * kb_speed velocity.x = -sign(init_velocity.x) * kb_speed
kb_speed = 0 kb_speed = 0
move_and_slide() move_and_slide()
velocity = init_velocity velocity = init_velocity
func take_knockback(speed: int) -> void: func take_knockback(speed: int) -> void:
kb_speed = speed kb_speed = speed

View file

@ -3,6 +3,7 @@ extends Node
var previous_window_mode = -1 var previous_window_mode = -1
func _process(delta: float) -> void: func _process(delta: float) -> void:
# keybinds
if Input.is_action_just_pressed("toggle_fullscreen"): if Input.is_action_just_pressed("toggle_fullscreen"):
if get_window().mode == Window.MODE_FULLSCREEN: if get_window().mode == Window.MODE_FULLSCREEN:
if previous_window_mode != -1: if previous_window_mode != -1:

View file

@ -7,9 +7,13 @@ extends Entity
@onready var attack_timer = $AttackTimer @onready var attack_timer = $AttackTimer
@onready var collider = $CollisionShape2D @onready var collider = $CollisionShape2D
@onready var punch_hitbox = $PunchHitbox @onready var punch_hitbox = $PunchHitbox
@onready var death_timer = $DeathTimer
var jumping = false var jumping = false
var facing_right = true var facing_right = true
var right_punch = false
var hurting = false
var is_dying = false
const ATTACK_DAMAGE = 25 const ATTACK_DAMAGE = 25
const INITIAL_HEALTH = 100 const INITIAL_HEALTH = 100
@ -25,8 +29,6 @@ func _ready():
punch_hitbox.visible = false punch_hitbox.visible = false
func _physics_process(delta): func _physics_process(delta):
super._physics_process(delta)
if is_on_floor(): if is_on_floor():
# allow the player to jump # allow the player to jump
if jumping: if jumping:
@ -50,28 +52,62 @@ func _physics_process(delta):
# ensure the player faces the correct direction # ensure the player faces the correct direction
if horizontal_direction > 0 && !facing_right: if horizontal_direction > 0 && !facing_right:
animated_sprite.flip_h = false animated_sprite.flip_h = false
punch_hitbox.rotate(PI)
elif horizontal_direction < 0 && facing_right: elif horizontal_direction < 0 && facing_right:
animated_sprite.flip_h = true animated_sprite.flip_h = true
punch_hitbox.rotate(PI)
if horizontal_direction != 0: if horizontal_direction != 0:
facing_right = horizontal_direction > 0 facing_right = horizontal_direction > 0
# figure out which animation should be played # figure out which animation should be played
# respecting the jump animation above all # respecting the jump animation above all
if !jumping and attack_timer.is_stopped(): if !jumping and !hurting and attack_timer.is_stopped():
if is_on_floor() && horizontal_direction != 0: if is_on_floor() && horizontal_direction != 0:
animated_sprite.play("walk") animated_sprite.play("walk")
else: else:
animated_sprite.play("idle") animated_sprite.play("idle")
super._physics_process(delta)
punch_hitbox.visible = true if !attack_timer.is_stopped() else false punch_hitbox.visible = true if !attack_timer.is_stopped() else false
func punch_connect(node: Node): func punch_connect(node: Node):
if node is Entity and node != self and !attack_timer.is_stopped(): if node is Entity and node != self and !attack_timer.is_stopped():
node.health -= damage node.health -= damage
node.take_knockback(ATTACK_KNOCKBACK) node.take_knockback(ATTACK_KNOCKBACK)
if node.has_method("hurt_anim"):
node.call("hurt_anim")
func hurt_anim():
hurting = true
animated_sprite.play("hurt")
animated_sprite.animation_finished.connect(disable_hurt)
func disable_hurt():
hurting = false
animated_sprite.animation_finished.disconnect(disable_hurt)
func _process(delta: float) -> void: func _process(delta: float) -> void:
if health <= 0:
is_dying = true
death_timer.start()
health = 99999
if is_dying:
animated_sprite.play("death")
punch_hitbox.visible = false
speed = 0
if death_timer.is_stopped():
queue_free()
if attack_timer.is_stopped() and Input.is_action_just_pressed("attack"): if attack_timer.is_stopped() and Input.is_action_just_pressed("attack"):
attack_timer.start() attack_timer.start()
animated_sprite.play(" punch") # TODO: Implement hitbox/endlag
if is_on_floor():
animated_sprite.play("right" if right_punch else "left")
right_punch = !right_punch
else:
animated_sprite.play("slam")

View file

@ -4,9 +4,9 @@ extends Entity;
@onready var collider = $CollisionShape2D @onready var collider = $CollisionShape2D
@onready var contact_hitbox = $ContactHitbox @onready var contact_hitbox = $ContactHitbox
@onready var collision_shape = collider.shape @onready var collision_shape = collider.shape
@onready var attack_timer = $Timer @onready var attack_timer = $AttackTimer
@onready var is_dying = false
@onready var death_timer = $DeathTimer @onready var death_timer = $DeathTimer
var is_dying = false
const SPEED_MULTIPLIER = 100 const SPEED_MULTIPLIER = 100
const INITIAL_HEALTH = 10 const INITIAL_HEALTH = 10
@ -47,6 +47,8 @@ func _process(delta: float) -> void:
func body_connect(node: Node): func body_connect(node: Node):
if node is Entity and node != self and attack_timer.is_stopped(): if node is Entity and node != self and attack_timer.is_stopped():
attack_timer.start(0.25) attack_timer.start()
node.health -= damage node.health -= damage
take_knockback(ATTACK_KNOCKBACK) node.take_knockback(ATTACK_KNOCKBACK)
if node.has_method("hurt_anim"):
node.call("hurt_anim")