Dash momentum to jump.

This commit is contained in:
Nitsud Yarg 2024-06-19 21:25:55 -07:00
parent 4d4526a72d
commit 922b4d05aa
10 changed files with 271 additions and 273 deletions

View File

@ -144,6 +144,8 @@ b = Vector2( -1, 349 )
[node name="Main" type="Node2D"]
[node name="Level" type="Node2D" parent="."]
[node name="ParallaxBackground" type="ParallaxBackground" parent="."]
scroll_base_scale = Vector2( 0.4, 1 )
scroll_limit_end = Vector2( 1300, 0 )

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 101 KiB

View File

@ -34,3 +34,13 @@ func _on_attack_do_attack():
func _on_Health_Component_health_depleted():
queue_free()
func _on_roll_frame_reached(state_name, animation_name, frame_number):
print("I'm invincible!!!")
$Hurtbox_Component.set_hurtbox(false)
func _on_roll_state_exited():
print("Nevermind. I'm vulnerable.")
$Hurtbox_Component.set_hurtbox(true)

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=117 format=2]
[gd_scene load_steps=109 format=2]
[ext_resource path="res://src/templates/Actor/ActorTemplate.tscn" type="PackedScene" id=1]
[ext_resource path="res://src/playerD/movement_component.gd" type="Script" id=2]
@ -102,319 +102,287 @@ region = Rect2( 1920, 0, 240, 160 )
atlas = SubResource( 90 )
region = Rect2( 2160, 0, 240, 160 )
[sub_resource type="AtlasTexture" id=163]
atlas = SubResource( 90 )
region = Rect2( 480, 160, 240, 160 )
[sub_resource type="AtlasTexture" id=112]
atlas = SubResource( 90 )
region = Rect2( 1920, 160, 240, 160 )
[sub_resource type="AtlasTexture" id=113]
atlas = SubResource( 90 )
region = Rect2( 2160, 160, 240, 160 )
[sub_resource type="AtlasTexture" id=114]
atlas = SubResource( 90 )
region = Rect2( 0, 320, 240, 160 )
[sub_resource type="AtlasTexture" id=115]
atlas = SubResource( 90 )
region = Rect2( 240, 320, 240, 160 )
[sub_resource type="AtlasTexture" id=116]
atlas = SubResource( 90 )
region = Rect2( 480, 320, 240, 160 )
[sub_resource type="AtlasTexture" id=117]
atlas = SubResource( 90 )
region = Rect2( 720, 320, 240, 160 )
[sub_resource type="AtlasTexture" id=118]
atlas = SubResource( 90 )
region = Rect2( 960, 320, 240, 160 )
[sub_resource type="AtlasTexture" id=119]
atlas = SubResource( 90 )
region = Rect2( 1440, 320, 240, 160 )
[sub_resource type="AtlasTexture" id=120]
atlas = SubResource( 90 )
region = Rect2( 1680, 320, 240, 160 )
[sub_resource type="AtlasTexture" id=121]
atlas = SubResource( 90 )
region = Rect2( 1920, 320, 240, 160 )
[sub_resource type="AtlasTexture" id=122]
atlas = SubResource( 90 )
region = Rect2( 240, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=123]
atlas = SubResource( 90 )
region = Rect2( 480, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=124]
atlas = SubResource( 90 )
region = Rect2( 720, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=125]
atlas = SubResource( 90 )
region = Rect2( 960, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=126]
atlas = SubResource( 90 )
region = Rect2( 1200, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=127]
atlas = SubResource( 90 )
region = Rect2( 1440, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=128]
atlas = SubResource( 90 )
region = Rect2( 1680, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=129]
atlas = SubResource( 90 )
region = Rect2( 1920, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=130]
atlas = SubResource( 90 )
region = Rect2( 2160, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=131]
atlas = SubResource( 90 )
region = Rect2( 0, 960, 240, 160 )
[sub_resource type="AtlasTexture" id=132]
atlas = SubResource( 90 )
region = Rect2( 240, 960, 240, 160 )
[sub_resource type="AtlasTexture" id=133]
atlas = SubResource( 90 )
region = Rect2( 480, 960, 240, 160 )
[sub_resource type="AtlasTexture" id=134]
atlas = SubResource( 90 )
region = Rect2( 720, 960, 240, 160 )
[sub_resource type="AtlasTexture" id=135]
atlas = SubResource( 90 )
region = Rect2( 960, 960, 240, 160 )
[sub_resource type="AtlasTexture" id=136]
atlas = SubResource( 90 )
region = Rect2( 1200, 960, 240, 160 )
[sub_resource type="AtlasTexture" id=137]
atlas = SubResource( 90 )
region = Rect2( 1440, 960, 240, 160 )
[sub_resource type="AtlasTexture" id=138]
atlas = SubResource( 90 )
region = Rect2( 1680, 960, 240, 160 )
[sub_resource type="AtlasTexture" id=139]
atlas = SubResource( 90 )
region = Rect2( 1920, 960, 240, 160 )
[sub_resource type="AtlasTexture" id=140]
atlas = SubResource( 90 )
region = Rect2( 2160, 960, 240, 160 )
[sub_resource type="AtlasTexture" id=141]
atlas = SubResource( 90 )
region = Rect2( 0, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=142]
atlas = SubResource( 90 )
region = Rect2( 240, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=143]
atlas = SubResource( 90 )
region = Rect2( 480, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=144]
atlas = SubResource( 90 )
region = Rect2( 720, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=145]
atlas = SubResource( 90 )
region = Rect2( 960, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=146]
atlas = SubResource( 90 )
region = Rect2( 1200, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=147]
atlas = SubResource( 90 )
region = Rect2( 1440, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=148]
atlas = SubResource( 90 )
region = Rect2( 1680, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=149]
atlas = SubResource( 90 )
region = Rect2( 1920, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=150]
atlas = SubResource( 90 )
region = Rect2( 2160, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=151]
atlas = SubResource( 90 )
region = Rect2( 240, 640, 240, 160 )
[sub_resource type="AtlasTexture" id=152]
atlas = SubResource( 90 )
region = Rect2( 480, 640, 240, 160 )
[sub_resource type="AtlasTexture" id=153]
atlas = SubResource( 90 )
region = Rect2( 720, 640, 240, 160 )
[sub_resource type="AtlasTexture" id=154]
atlas = SubResource( 90 )
region = Rect2( 960, 640, 240, 160 )
[sub_resource type="AtlasTexture" id=155]
atlas = SubResource( 90 )
region = Rect2( 1200, 640, 240, 160 )
[sub_resource type="AtlasTexture" id=156]
atlas = SubResource( 90 )
region = Rect2( 1440, 640, 240, 160 )
[sub_resource type="AtlasTexture" id=157]
atlas = SubResource( 90 )
region = Rect2( 1680, 640, 240, 160 )
[sub_resource type="AtlasTexture" id=158]
atlas = SubResource( 90 )
region = Rect2( 1920, 640, 240, 160 )
[sub_resource type="AtlasTexture" id=159]
atlas = SubResource( 90 )
region = Rect2( 2160, 640, 240, 160 )
[sub_resource type="AtlasTexture" id=160]
atlas = SubResource( 90 )
region = Rect2( 0, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=161]
atlas = SubResource( 90 )
region = Rect2( 0, 160, 240, 160 )
[sub_resource type="AtlasTexture" id=162]
[sub_resource type="AtlasTexture" id=113]
atlas = SubResource( 90 )
region = Rect2( 240, 160, 240, 160 )
[sub_resource type="AtlasTexture" id=164]
[sub_resource type="AtlasTexture" id=114]
atlas = SubResource( 90 )
region = Rect2( 480, 160, 240, 160 )
[sub_resource type="AtlasTexture" id=115]
atlas = SubResource( 90 )
region = Rect2( 1920, 160, 240, 160 )
[sub_resource type="AtlasTexture" id=116]
atlas = SubResource( 90 )
region = Rect2( 2160, 160, 240, 160 )
[sub_resource type="AtlasTexture" id=117]
atlas = SubResource( 90 )
region = Rect2( 0, 320, 240, 160 )
[sub_resource type="AtlasTexture" id=118]
atlas = SubResource( 90 )
region = Rect2( 240, 320, 240, 160 )
[sub_resource type="AtlasTexture" id=119]
atlas = SubResource( 90 )
region = Rect2( 480, 320, 240, 160 )
[sub_resource type="AtlasTexture" id=120]
atlas = SubResource( 90 )
region = Rect2( 720, 320, 240, 160 )
[sub_resource type="AtlasTexture" id=121]
atlas = SubResource( 90 )
region = Rect2( 960, 320, 240, 160 )
[sub_resource type="AtlasTexture" id=122]
atlas = SubResource( 90 )
region = Rect2( 1440, 320, 240, 160 )
[sub_resource type="AtlasTexture" id=123]
atlas = SubResource( 90 )
region = Rect2( 1680, 320, 240, 160 )
[sub_resource type="AtlasTexture" id=124]
atlas = SubResource( 90 )
region = Rect2( 1920, 320, 240, 160 )
[sub_resource type="AtlasTexture" id=125]
atlas = SubResource( 90 )
region = Rect2( 240, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=126]
atlas = SubResource( 90 )
region = Rect2( 480, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=127]
atlas = SubResource( 90 )
region = Rect2( 720, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=128]
atlas = SubResource( 90 )
region = Rect2( 960, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=129]
atlas = SubResource( 90 )
region = Rect2( 1200, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=130]
atlas = SubResource( 90 )
region = Rect2( 1440, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=131]
atlas = SubResource( 90 )
region = Rect2( 1680, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=132]
atlas = SubResource( 90 )
region = Rect2( 1920, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=133]
atlas = SubResource( 90 )
region = Rect2( 2160, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=134]
atlas = SubResource( 90 )
region = Rect2( 0, 960, 240, 160 )
[sub_resource type="AtlasTexture" id=135]
atlas = SubResource( 90 )
region = Rect2( 240, 960, 240, 160 )
[sub_resource type="AtlasTexture" id=136]
atlas = SubResource( 90 )
region = Rect2( 0, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=137]
atlas = SubResource( 90 )
region = Rect2( 240, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=138]
atlas = SubResource( 90 )
region = Rect2( 480, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=139]
atlas = SubResource( 90 )
region = Rect2( 720, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=140]
atlas = SubResource( 90 )
region = Rect2( 960, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=141]
atlas = SubResource( 90 )
region = Rect2( 1200, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=142]
atlas = SubResource( 90 )
region = Rect2( 1440, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=143]
atlas = SubResource( 90 )
region = Rect2( 1680, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=144]
atlas = SubResource( 90 )
region = Rect2( 1920, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=145]
atlas = SubResource( 90 )
region = Rect2( 2160, 480, 240, 160 )
[sub_resource type="AtlasTexture" id=146]
atlas = SubResource( 90 )
region = Rect2( 240, 640, 240, 160 )
[sub_resource type="AtlasTexture" id=147]
atlas = SubResource( 90 )
region = Rect2( 480, 640, 240, 160 )
[sub_resource type="AtlasTexture" id=148]
atlas = SubResource( 90 )
region = Rect2( 720, 640, 240, 160 )
[sub_resource type="AtlasTexture" id=149]
atlas = SubResource( 90 )
region = Rect2( 960, 640, 240, 160 )
[sub_resource type="AtlasTexture" id=150]
atlas = SubResource( 90 )
region = Rect2( 1200, 640, 240, 160 )
[sub_resource type="AtlasTexture" id=151]
atlas = SubResource( 90 )
region = Rect2( 1440, 640, 240, 160 )
[sub_resource type="AtlasTexture" id=152]
atlas = SubResource( 90 )
region = Rect2( 1680, 640, 240, 160 )
[sub_resource type="AtlasTexture" id=153]
atlas = SubResource( 90 )
region = Rect2( 1920, 640, 240, 160 )
[sub_resource type="AtlasTexture" id=154]
atlas = SubResource( 90 )
region = Rect2( 2160, 640, 240, 160 )
[sub_resource type="AtlasTexture" id=155]
atlas = SubResource( 90 )
region = Rect2( 0, 800, 240, 160 )
[sub_resource type="AtlasTexture" id=156]
atlas = SubResource( 90 )
region = Rect2( 0, 1280, 240, 160 )
[sub_resource type="AtlasTexture" id=165]
[sub_resource type="AtlasTexture" id=157]
atlas = SubResource( 90 )
region = Rect2( 240, 1280, 240, 160 )
[sub_resource type="AtlasTexture" id=166]
[sub_resource type="AtlasTexture" id=158]
atlas = SubResource( 90 )
region = Rect2( 480, 1280, 240, 160 )
[sub_resource type="AtlasTexture" id=167]
[sub_resource type="AtlasTexture" id=159]
atlas = SubResource( 90 )
region = Rect2( 720, 1280, 240, 160 )
[sub_resource type="AtlasTexture" id=168]
[sub_resource type="AtlasTexture" id=160]
atlas = SubResource( 90 )
region = Rect2( 960, 1280, 240, 160 )
[sub_resource type="AtlasTexture" id=169]
[sub_resource type="AtlasTexture" id=161]
atlas = SubResource( 90 )
region = Rect2( 1200, 1280, 240, 160 )
[sub_resource type="AtlasTexture" id=170]
[sub_resource type="AtlasTexture" id=162]
atlas = SubResource( 90 )
region = Rect2( 1440, 1280, 240, 160 )
[sub_resource type="AtlasTexture" id=171]
[sub_resource type="AtlasTexture" id=163]
atlas = SubResource( 90 )
region = Rect2( 1680, 1280, 240, 160 )
[sub_resource type="AtlasTexture" id=172]
[sub_resource type="AtlasTexture" id=164]
atlas = SubResource( 90 )
region = Rect2( 1920, 1280, 240, 160 )
[sub_resource type="AtlasTexture" id=173]
[sub_resource type="AtlasTexture" id=165]
atlas = SubResource( 90 )
region = Rect2( 2160, 1280, 240, 160 )
[sub_resource type="AtlasTexture" id=174]
[sub_resource type="AtlasTexture" id=166]
atlas = SubResource( 90 )
region = Rect2( 0, 1440, 240, 160 )
[sub_resource type="AtlasTexture" id=175]
[sub_resource type="AtlasTexture" id=167]
atlas = SubResource( 90 )
region = Rect2( 240, 1440, 240, 160 )
[sub_resource type="AtlasTexture" id=176]
[sub_resource type="AtlasTexture" id=168]
atlas = SubResource( 90 )
region = Rect2( 480, 1440, 240, 160 )
[sub_resource type="AtlasTexture" id=177]
[sub_resource type="AtlasTexture" id=169]
atlas = SubResource( 90 )
region = Rect2( 720, 1440, 240, 160 )
[sub_resource type="AtlasTexture" id=178]
[sub_resource type="AtlasTexture" id=170]
atlas = SubResource( 90 )
region = Rect2( 960, 1440, 240, 160 )
[sub_resource type="AtlasTexture" id=179]
[sub_resource type="AtlasTexture" id=171]
atlas = SubResource( 90 )
region = Rect2( 1200, 1440, 240, 160 )
[sub_resource type="AtlasTexture" id=180]
[sub_resource type="AtlasTexture" id=172]
atlas = SubResource( 90 )
region = Rect2( 1440, 1440, 240, 160 )
[sub_resource type="AtlasTexture" id=181]
[sub_resource type="AtlasTexture" id=173]
atlas = SubResource( 90 )
region = Rect2( 1680, 1440, 240, 160 )
[sub_resource type="AtlasTexture" id=182]
[sub_resource type="AtlasTexture" id=174]
atlas = SubResource( 90 )
region = Rect2( 1920, 1440, 240, 160 )
[sub_resource type="AtlasTexture" id=183]
[sub_resource type="AtlasTexture" id=175]
atlas = SubResource( 90 )
region = Rect2( 2160, 1440, 240, 160 )
[sub_resource type="AtlasTexture" id=184]
[sub_resource type="AtlasTexture" id=176]
atlas = SubResource( 90 )
region = Rect2( 240, 0, 240, 160 )
[sub_resource type="AtlasTexture" id=185]
[sub_resource type="AtlasTexture" id=177]
atlas = SubResource( 90 )
region = Rect2( 480, 0, 240, 160 )
[sub_resource type="AtlasTexture" id=186]
[sub_resource type="AtlasTexture" id=178]
atlas = SubResource( 90 )
region = Rect2( 720, 0, 240, 160 )
[sub_resource type="AtlasTexture" id=187]
[sub_resource type="AtlasTexture" id=179]
atlas = SubResource( 90 )
region = Rect2( 960, 0, 240, 160 )
[sub_resource type="AtlasTexture" id=188]
[sub_resource type="AtlasTexture" id=180]
atlas = SubResource( 90 )
region = Rect2( 2160, 320, 240, 160 )
[sub_resource type="AtlasTexture" id=189]
[sub_resource type="AtlasTexture" id=181]
atlas = SubResource( 90 )
region = Rect2( 0, 640, 240, 160 )
[sub_resource type="SpriteFrames" id=190]
[sub_resource type="SpriteFrames" id=182]
animations = [ {
"frames": [ SubResource( 91 ), SubResource( 92 ), SubResource( 93 ), SubResource( 94 ), SubResource( 95 ), SubResource( 96 ), SubResource( 97 ), SubResource( 98 ), SubResource( 99 ), SubResource( 100 ) ],
"loop": true,
@ -424,64 +392,59 @@ animations = [ {
"frames": [ SubResource( 101 ), SubResource( 101 ), SubResource( 101 ), SubResource( 102 ), SubResource( 103 ), SubResource( 104 ), SubResource( 105 ), SubResource( 105 ), SubResource( 105 ) ],
"loop": false,
"name": "dash",
"speed": 10.0
"speed": 15.0
}, {
"frames": [ SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 106 ), SubResource( 107 ), SubResource( 108 ), SubResource( 109 ), SubResource( 110 ), SubResource( 111 ) ],
"loop": true,
"name": "idle",
"speed": 10.0
}, {
"frames": [ SubResource( 163 ) ],
"loop": true,
"frames": [ SubResource( 112 ), SubResource( 113 ), SubResource( 114 ) ],
"loop": false,
"name": "idle_shoot",
"speed": 5.0
"speed": 10.0
}, {
"frames": [ SubResource( 112 ), SubResource( 113 ), SubResource( 114 ), SubResource( 115 ), SubResource( 113 ), SubResource( 116 ), SubResource( 117 ), SubResource( 118 ) ],
"frames": [ SubResource( 115 ), SubResource( 116 ), SubResource( 117 ), SubResource( 118 ), SubResource( 116 ), SubResource( 119 ), SubResource( 120 ), SubResource( 121 ) ],
"loop": false,
"name": "jump",
"speed": 10.0
}, {
"frames": [ SubResource( 119 ), SubResource( 119 ), SubResource( 119 ), SubResource( 119 ), SubResource( 119 ), SubResource( 119 ), SubResource( 120 ), SubResource( 121 ) ],
"loop": true,
"frames": [ SubResource( 122 ), SubResource( 122 ), SubResource( 122 ), SubResource( 122 ), SubResource( 122 ), SubResource( 122 ), SubResource( 123 ), SubResource( 124 ) ],
"loop": false,
"name": "jump_shoot",
"speed": 10.0
}, {
"frames": [ SubResource( 122 ), SubResource( 123 ), SubResource( 124 ), SubResource( 125 ), SubResource( 126 ), SubResource( 127 ), SubResource( 128 ), SubResource( 129 ), SubResource( 130 ), SubResource( 131 ), SubResource( 132 ), SubResource( 133 ), SubResource( 134 ), SubResource( 135 ), SubResource( 136 ), SubResource( 137 ), SubResource( 138 ), SubResource( 139 ), SubResource( 140 ) ],
"frames": [ SubResource( 125 ), SubResource( 126 ), SubResource( 127 ), SubResource( 128 ), SubResource( 129 ), SubResource( 130 ), SubResource( 131 ), SubResource( 132 ), SubResource( 133 ), SubResource( 134 ), SubResource( 135 ) ],
"loop": false,
"name": "roll",
"speed": 10.0
}, {
"frames": [ SubResource( 141 ), SubResource( 142 ), SubResource( 143 ), SubResource( 144 ), SubResource( 145 ), SubResource( 146 ), SubResource( 147 ), SubResource( 148 ), SubResource( 149 ), SubResource( 150 ) ],
"frames": [ SubResource( 136 ), SubResource( 137 ), SubResource( 138 ), SubResource( 139 ), SubResource( 140 ), SubResource( 141 ), SubResource( 142 ), SubResource( 143 ), SubResource( 144 ), SubResource( 145 ) ],
"loop": true,
"name": "run",
"speed": 10.0
}, {
"frames": [ SubResource( 151 ), SubResource( 152 ), SubResource( 153 ), SubResource( 154 ), SubResource( 155 ), SubResource( 156 ), SubResource( 157 ), SubResource( 158 ), SubResource( 159 ), SubResource( 160 ) ],
"frames": [ SubResource( 146 ), SubResource( 147 ), SubResource( 148 ), SubResource( 149 ), SubResource( 150 ), SubResource( 151 ), SubResource( 152 ), SubResource( 153 ), SubResource( 154 ), SubResource( 155 ) ],
"loop": true,
"name": "run_shoot",
"speed": 10.0
}, {
"frames": [ SubResource( 161 ), SubResource( 162 ), SubResource( 163 ) ],
"loop": false,
"name": "shoot",
"speed": 10.0
}, {
"frames": [ SubResource( 164 ), SubResource( 165 ), SubResource( 166 ), SubResource( 166 ), SubResource( 167 ), SubResource( 168 ), SubResource( 169 ), SubResource( 170 ), SubResource( 170 ), SubResource( 171 ), SubResource( 172 ), SubResource( 173 ), SubResource( 174 ), SubResource( 175 ), SubResource( 176 ), SubResource( 177 ), SubResource( 178 ), SubResource( 179 ), SubResource( 180 ), SubResource( 181 ), SubResource( 182 ), SubResource( 183 ) ],
"frames": [ SubResource( 156 ), SubResource( 157 ), SubResource( 158 ), SubResource( 158 ), SubResource( 159 ), SubResource( 160 ), SubResource( 161 ), SubResource( 162 ), SubResource( 162 ), SubResource( 163 ), SubResource( 164 ), SubResource( 165 ), SubResource( 166 ), SubResource( 167 ), SubResource( 168 ), SubResource( 169 ), SubResource( 170 ), SubResource( 171 ), SubResource( 172 ), SubResource( 173 ), SubResource( 174 ), SubResource( 175 ) ],
"loop": true,
"name": "slash",
"speed": 10.0
}, {
"frames": [ SubResource( 107 ), SubResource( 184 ), SubResource( 185 ), SubResource( 186 ), SubResource( 187 ) ],
"frames": [ SubResource( 107 ), SubResource( 176 ), SubResource( 177 ), SubResource( 178 ), SubResource( 179 ) ],
"loop": true,
"name": "stand",
"speed": 1.0
"speed": 10.0
}, {
"frames": [ SubResource( 188 ) ],
"frames": [ SubResource( 180 ) ],
"loop": false,
"name": "step",
"speed": 10.0
}, {
"frames": [ SubResource( 189 ) ],
"frames": [ SubResource( 181 ) ],
"loop": false,
"name": "step_shoot",
"speed": 10.0
@ -497,9 +460,9 @@ player_number = 1
[node name="AnimatedSprite" parent="." index="0"]
position = Vector2( -1, -51 )
frames = SubResource( 190 )
frames = SubResource( 182 )
animation = "idle_shoot"
frame = 0
frame = 2
flip_h = false
__meta__ = {
"_aseprite_wizard_config_": {
@ -558,7 +521,6 @@ jump_force = 250.0
[node name="attack" type="Node" parent="movement_state_machine" index="4"]
script = ExtResource( 10 )
timeout_seconds = 2.0
animation_sequence = [ "shoot" ]
jump_node = NodePath("../jump")
idle_node = NodePath("../idle")
fall_node = NodePath("../fall")
@ -591,6 +553,9 @@ jump_node = NodePath("../jump")
script = ExtResource( 14 )
move_speed = 90.0
animation_sequence = [ "roll" ]
emitter_frame_subscriptions = {
2: "roll"
}
fall_node = NodePath("../fall")
idle_node = NodePath("../idle")
@ -608,7 +573,7 @@ max_health = 100
[node name="Gun" type="Position2D" parent="." index="7"]
physics_interpolation_mode = 1
position = Vector2( 25, -5 )
position = Vector2( 23, -9 )
script = ExtResource( 13 )
[node name="Cooldown" type="Timer" parent="Gun" index="0"]
@ -616,9 +581,12 @@ wait_time = 0.5
one_shot = true
[node name="Line2D" type="Line2D" parent="Gun" index="1"]
points = PoolVector2Array( -5, 0, 5, 0 )
position = Vector2( -3, 0 )
points = PoolVector2Array( -5, 0, 1.25483, 0, 5, 0 )
width = 2.0
default_color = Color( 1, 0.607843, 0, 1 )
[connection signal="do_attack" from="movement_state_machine/attack" to="." method="_on_attack_do_attack"]
[connection signal="frame_reached" from="movement_state_machine/roll" to="." method="_on_roll_frame_reached"]
[connection signal="state_exited" from="movement_state_machine/roll" to="." method="_on_roll_state_exited"]
[connection signal="health_depleted" from="Health_Component" to="." method="_on_Health_Component_health_depleted"]

View File

@ -24,7 +24,7 @@ func enter() -> void:
#mod_animation_sequence = animation_sequence.duplicate(true)
mod_animation_sequence.append_array(animation_sequence)
# Reset animation suffix in case there isn't one
animation_suffix = ''
animation_suffix = '_shoot'
animation_index = 0
current_animation_sequence = 0
#var enter_animation = ''
@ -45,7 +45,7 @@ func enter() -> void:
previous_state_frame_number, " ", previous_state_name)
match previous_animation_name:
"idle":
animations.play("shoot")
animations.play("_shoot")
"run":
animations.play("run_shoot")
animations.frame = previous_state_frame_number

View File

@ -10,13 +10,13 @@ onready var fall_state: State = get_node(fall_node)
onready var idle_state: State = get_node(idle_node)
onready var attack_state: State = get_node(attack_node)
var speed_multiplier := 1.0
var speed_decay_rate := 1.0
func enter():
remove_animation_state_modifiers()
.enter()
speed_multiplier = 2.8
speed_decay_rate = 2.0
speed_multiplier = 5
speed_decay_rate = 4
func process_physics(delta: float) -> State:
@ -26,13 +26,15 @@ func process_physics(delta: float) -> State:
if move_component.wants_jump():
return jump_state
var new_move_speed = move_speed * speed_multiplier
if speed_multiplier > 1.0:
#print(speed_multiplier,", ", delta)
speed_multiplier -= delta * speed_decay_rate
speed_decay_rate += delta
print("PPS: ", new_move_speed * delta)
speed_multiplier -= delta * (speed_decay_rate * speed_multiplier)
#speed_decay_rate += delta * speed_decay_rate
elif speed_multiplier < 1.0:
speed_multiplier += delta * speed_decay_rate
speed_decay_rate += delta
speed_multiplier += delta * (speed_decay_rate * speed_multiplier)
#speed_decay_rate += delta * speed_decay_rate
# Deadzone
if speed_multiplier < 1.1 and speed_multiplier > 0.9:
@ -41,7 +43,7 @@ func process_physics(delta: float) -> State:
move_component.velocity.y += gravity * delta
#parent.velocity = parent.move_and_slide(parent.velocity, Vector2(0, -1))
#print(speed_multiplier)
move_component.velocity.x = parent.transform.x.x * move_speed * speed_multiplier
move_component.velocity.x = parent.transform.x.x * new_move_speed
move_component.velocity = parent.move_and_slide(move_component.velocity, Vector2(0, -1))

View File

@ -14,6 +14,8 @@ export var jump_force: float = 200.0
func enter() -> void:
.enter()
if previous_speed_multiplier > 1.0:
speed_multiplier = previous_speed_multiplier
# Apply initial jump velocity on state enter
move_component.velocity.y = -jump_force

View File

@ -6,9 +6,13 @@ export (NodePath) var idle_node
onready var fall_state: State = get_node(fall_node)
onready var idle_state: State = get_node(idle_node)
var speed_multiplier := 1.0
var speed_decay_rate := 1.0
func enter():
remove_animation_state_modifiers()
.enter()
func process_physics(delta: float) -> State:
# if move_component.wants_shoot():

View File

@ -17,6 +17,7 @@ extends State
# export var animation_name: String
export var move_speed: float = 60
var speed_multiplier: float = 1.0
export(Array, String) var animation_sequence
@ -45,6 +46,7 @@ var parent: KinematicBody2D
var previous_animation_name : String
var previous_state_frame_number : int
var previous_state_name: String
var previous_speed_multiplier: float
#var animation_sequence_timer: Timer
@ -187,9 +189,12 @@ func process_physics(_delta: float) -> State:
# animation_index += 1
func move_actor_as_desired(delta: float):
var new_speed = move_speed * speed_multiplier
# if (new_speed > move_speed):
# print("Go Faster Booooy! ", move_speed)
move_component.velocity.y += gravity * delta
#parent.velocity = parent.move_and_slide(parent.velocity, Vector2(0, -1))
move_component.velocity.x = move_component.desired_movement_vector.x * move_speed
move_component.velocity.x = move_component.desired_movement_vector.x * new_speed
move_component.velocity = parent.move_and_slide(move_component.velocity, Vector2(0, -1))
func push_animation_state_modifier(modifier: StateModifier):
@ -236,3 +241,9 @@ func push_animation_state_modifier(modifier: StateModifier):
else:
modifier_stack_ref.push_front(modifier)
func remove_animation_state_modifiers():
for i in modifier_stack_ref.size():
if modifier_stack_ref[i].modifier_type != "None":
#print("Time to pop state modifer: ", state_modifiers[i].animation_name, current_state.animation_suffix, " <-> ", current_state.animations.animation + current_state.animation_suffix)
modifier_stack_ref.pop_at(i)

View File

@ -3,10 +3,9 @@ class_name StateMachineAnimatedActor extends StateMachine
func change_state(new_state: State) -> void:
if current_state:
current_state.exit()
# Set parameters for information
if new_state is StateAnimatedActor and current_state is StateAnimatedActor:
set_previous_animation( current_state, new_state)
# Set parameters for information
if new_state is StateAnimatedActor and current_state is StateAnimatedActor:
set_previous_animation( current_state, new_state)
current_state = new_state
current_state.enter()
@ -19,7 +18,7 @@ func set_previous_animation( old_state: StateAnimatedActor, new_state: StateAnim
new_state.previous_animation_name = old_state.mod_animation_sequence[old_state.current_animation_sequence]
new_state.previous_state_frame_number = old_state.animations.frame
new_state.previous_state_name = old_state.name
new_state.previous_speed_multiplier = old_state.speed_multiplier
#animation_name :String, frame_number : int, animation_sequence :Array
return