From 12c100e56a556af23274eb3a25c438b31c42ff35 Mon Sep 17 00:00:00 2001 From: Jakob Feldmann Date: Tue, 2 Aug 2022 16:20:15 +0200 Subject: [PATCH] Dusting run anim fix --- .../blobby-effects-spritesheet.aseprite | Bin 2471 -> 2511 bytes assets/blobby/blobby-effects-spritesheet.png | Bin 928 -> 960 bytes src/Actors/Blobby/Blobby.tscn | 85 ++++++++++-------- src/Actors/Blobby/BlobbyCam.gd | 3 +- src/Actors/Blobby/BlobbyStateMachine.gd | 6 +- src/Levels/TLT Level.tscn | 3 - 6 files changed, 54 insertions(+), 43 deletions(-) diff --git a/assets/blobby/blobby-effects-spritesheet.aseprite b/assets/blobby/blobby-effects-spritesheet.aseprite index ddd258f7b1bae28d2b91842d8a02732c496c7cef..d99068c3b59d9f1d384bcba5e7494b6e5875ea60 100644 GIT binary patch delta 80 zcmZ23d|sISJSPLggQZ*(*((`mY;1hN!k)~)z#yT(Jh_0?MS_z7D2ohO8B%i#N-8&R TVg1Z3AOMv4^^t)g1*!r74>J(+ delta 38 ucmX>vyj+-lIVS_dgQc7k*((_vHa5OsVfSWWV31H?nq0u@viS__XJ!EEVGHB{ diff --git a/assets/blobby/blobby-effects-spritesheet.png b/assets/blobby/blobby-effects-spritesheet.png index 672b6fb7d84993d1ebb3b05c969f3b91fb4a5353..9bfe7efa5cf2e0ffdf1cf8a87b05f66845be6791 100644 GIT binary patch delta 690 zcmV;j0!{s(2fznFiBL{Q4GJ0x0000DNk~Le000BP0001B2nGNE0Ma5G=l}o!0drDE zLIAGL9O(c61A0kBK~#90?cG08+dve+kw6_7QhMgnKLEf23!?Q5 z)A(qCN*g!(h?{*p8V2-lYi_Q8dv)LPZ~6lO+?f|e7DBn^1*!fy>czkQx%6*qn8rr~ zZb^RtfJ(g}BA5Q_(*LlAX^e>1x77dtJ$2Mse*k}gSF#9d@3|cp{oB*Oow)Pdd-Ok? zx~2XAz%lxeb)ksc-GkESPgz$#P4nWjT&U{bPWk*DOZFL!VC z2LO0RJYnt6^`6!LaL~WKvZ?;<)kkpkZ>zosSbqTE*re?M_Y3yFv#x%+F0Zc^+w0%P z<@JBngCRiwwl2=j`*J5z|F*t;{Mvo_eBWDt0DxCmdYB4rEOpjDkN$1F^bjWf4`=BK z(E0-a$EJVzEr&BNp2{5ra+C{K{qyPHMnpt?FX|Hg-)@-3sCR(%2LO&u+7aks8spcW zD~q2M>Ax=h59?p=A=UqFF3!&TuDc&*^#^|d0J^Tb|GiU3J=>}urZf*{`nORZfz}@Y z0AK|MuJ-2pfR}#5SAPHifCL7wTxIWJ8V$Yx006vShF$;w00000001~eyY0rwApih? zOuOwSe*XAw7)v()YJmO#0B~aLhUMFBH!*kDKTkRM>JI?GY9hi;%nHip`sdR>UpX)E z>JI?GD#{%h^69@W{nw>G003#`V~JgNy9;9>nkOP2^fn0O*=;wWf3EVRiT;s+cNd(J YzcBb_90w1|ga7~l07*qoM6N<$g3#zstpET3 delta 683 zcmV;c0#yCL2cQQ)iBL{Q4GJ0x0000DNk~Le000AE0001B2nGNE0DF27IRF3v0drDE zLIAGL9O(c616oN$K~#90?cF_6+dvqAkw6_7r64;ji+~usD}$b=GvgV1-to--XeGK1 zk%5DM;O!fxF_!)g0002*p2Zgc0000$V#ky<@q2IQW*<@Z*1w*zt^NRTq72B(8K&{U z1c^Fs_7OMxcrY2&zpm6=|N6?l`QP*hfD@7iWdm_rX+orb8|CCv|F-n6Yna9d3#^>} z0C0lJ0hzY+UzYyIHB4hf{C`XRU+%G^hWZ14z#C!^uJ5TGXZ`Ebzn=K#srTrAJY`G$ z0pMjmwECck+uhUL=TEIZeVx+eC!Z+kUr+w~POrO8|62OK@AKFC*L87r-se}Z^ap?w z7mrx_d%b7nf>;0g@}~ONR~~`WzpnBgF#Q4GaLulO^)vRrTYdU^U0z?!w%5Oo%j>Iu zdy`Q8>$*5Q@AE4$`q%aCkZQw<|Co85L3KYx6; z7-%d#HCKNC0Ge|(puOF86RErY?c@tD{Q-bgiwHZ>3&@-6-=6;Ms`3pTDW*m$W RhiU)-002ovPDHLkV1k-zR{H<| diff --git a/src/Actors/Blobby/Blobby.tscn b/src/Actors/Blobby/Blobby.tscn index f864e43..c57956f 100644 --- a/src/Actors/Blobby/Blobby.tscn +++ b/src/Actors/Blobby/Blobby.tscn @@ -280,7 +280,7 @@ states/wallsliding/node = SubResource( 96 ) states/wallsliding/position = Vector2( 1766.54, 606.009 ) transitions = [ "falling", "wallsliding", SubResource( 138 ), "wallsliding", "idling", SubResource( 139 ), "wallsliding", "wallslideToJump", SubResource( 140 ), "wallslideToJump", "jumping", SubResource( 141 ), "idling", "jumping", SubResource( 147 ), "runToJump", "jumping", SubResource( 148 ), "ducking", "jumping", SubResource( 149 ), "jumping", "jumpToFall", SubResource( 150 ), "jumpToFall", "falling", SubResource( 151 ), "ducking", "duckTurn", SubResource( 152 ), "duckTurn", "ducking", SubResource( 153 ), "falling", "ducking", SubResource( 154 ), "ducking", "falling", SubResource( 155 ), "ducking", "walking", SubResource( 156 ), "walking", "ducking", SubResource( 157 ), "idling", "ducking", SubResource( 158 ), "ducking", "idling", SubResource( 159 ), "ducking", "running", SubResource( 160 ), "running", "ducking", SubResource( 161 ), "running", "falling", SubResource( 162 ), "falling", "running", SubResource( 163 ), "walking", "falling", SubResource( 164 ), "falling", "walking", SubResource( 165 ), "falling", "idling", SubResource( 166 ), "idling", "walking", SubResource( 167 ), "walking", "idling", SubResource( 168 ), "walking", "turnToRun", SubResource( 169 ), "turnToRun", "walking", SubResource( 170 ), "running", "turnToRun", SubResource( 171 ), "turnToRun", "running", SubResource( 172 ), "idling", "idleTurn", SubResource( 173 ), "walking", "idleTurn", SubResource( 174 ), "idleTurn", "walking", SubResource( 175 ), "idling", "turnToRun", SubResource( 176 ), "turnToRun", "idling", SubResource( 177 ), "running", "runToJump", SubResource( 178 ), "wallsliding", "falling", SubResource( 137 ) ] start_node = "idling" -graph_offset = Vector2( 921.542, -100.991 ) +graph_offset = Vector2( 1076.54, -268.991 ) [sub_resource type="AnimationNodeStateMachinePlayback" id=48] @@ -505,6 +505,18 @@ tracks/17/keys = { "update": 0, "values": [ Vector2( -1, 1 ) ] } +tracks/18/type = "value" +tracks/18/path = NodePath("../BlobbyEffectsSprite:offset") +tracks/18/interp = 1 +tracks/18/loop_wrap = true +tracks/18/imported = false +tracks/18/enabled = true +tracks/18/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 4, 0 ) ] +} [sub_resource type="Animation" id=67] length = 0.1 @@ -619,7 +631,7 @@ tracks/8/keys = { } [sub_resource type="Animation" id=68] -length = 0.1 +length = 0.133 loop = true tracks/0/type = "value" tracks/0/path = NodePath(".:frame") @@ -1361,7 +1373,7 @@ tracks/11/keys = { } [sub_resource type="Animation" id=70] -length = 0.1 +length = 0.133 loop = true tracks/0/type = "value" tracks/0/path = NodePath(".:frame") @@ -2840,37 +2852,37 @@ tracks/11/loop_wrap = true tracks/11/imported = false tracks/11/enabled = true tracks/11/keys = { -"times": PoolRealArray( 0, 0.2, 0.25, 0.3 ), -"transitions": PoolRealArray( 1, 1, 1, 1 ), +"times": PoolRealArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3 ), +"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1 ), "update": 1, -"values": [ 6, 5, 6, 7 ] +"values": [ 6, 9, 9, 9, 5, 6, 7 ] } tracks/12/type = "value" -tracks/12/path = NodePath("../BlobbyEffectsSprite:position") +tracks/12/path = NodePath("../BlobbyEffectsSprite:visible") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/imported = false tracks/12/enabled = true tracks/12/keys = { -"times": PoolRealArray( 0, 0.2, 0.25, 0.3 ), -"transitions": PoolRealArray( 1, 1, 1, 1 ), +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), "update": 1, -"values": [ Vector2( 2, -16 ), Vector2( 5, -15.985 ), Vector2( 5, -16 ), Vector2( 2, -16 ) ] +"values": [ true ] } tracks/13/type = "value" -tracks/13/path = NodePath("../BlobbyEffectsSprite:visible") +tracks/13/path = NodePath("../BlobbyEffectsSprite:scale") tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/imported = false tracks/13/enabled = true tracks/13/keys = { -"times": PoolRealArray( 0, 0.05, 0.2 ), -"transitions": PoolRealArray( 1, 1, 1 ), +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), "update": 1, -"values": [ true, false, true ] +"values": [ Vector2( 1, 1 ) ] } tracks/14/type = "value" -tracks/14/path = NodePath("../BlobbyEffectsSprite:scale") +tracks/14/path = NodePath("../BlobbyEffectsSprite:offset") tracks/14/interp = 1 tracks/14/loop_wrap = true tracks/14/imported = false @@ -2878,8 +2890,8 @@ tracks/14/enabled = true tracks/14/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ Vector2( 1, 1 ) ] +"update": 0, +"values": [ Vector2( -1, -1 ) ] } [sub_resource type="Animation" id=102] @@ -3026,37 +3038,37 @@ tracks/11/loop_wrap = true tracks/11/imported = false tracks/11/enabled = true tracks/11/keys = { -"times": PoolRealArray( 0, 0.2, 0.25, 0.3 ), -"transitions": PoolRealArray( 1, 1, 1, 1 ), -"update": 0, -"values": [ 6, 5, 6, 7 ] +"times": PoolRealArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3 ), +"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1 ), +"update": 1, +"values": [ 6, 9, 9, 9, 5, 6, 7 ] } tracks/12/type = "value" -tracks/12/path = NodePath("../BlobbyEffectsSprite:position") +tracks/12/path = NodePath("../BlobbyEffectsSprite:visible") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/imported = false tracks/12/enabled = true tracks/12/keys = { -"times": PoolRealArray( 0, 0.2, 0.25, 0.3 ), -"transitions": PoolRealArray( 1, 1, 1, 1 ), +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), "update": 1, -"values": [ Vector2( -2, -16.02 ), Vector2( -5, -16.008 ), Vector2( -3, -15.949 ), Vector2( -2, -16.031 ) ] +"values": [ true ] } tracks/13/type = "value" -tracks/13/path = NodePath("../BlobbyEffectsSprite:visible") +tracks/13/path = NodePath("../BlobbyEffectsSprite:scale") tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/imported = false tracks/13/enabled = true tracks/13/keys = { -"times": PoolRealArray( 0, 0.05, 0.2 ), -"transitions": PoolRealArray( 1, 1, 1 ), +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), "update": 1, -"values": [ true, false, true ] +"values": [ Vector2( -1, 1 ) ] } tracks/14/type = "value" -tracks/14/path = NodePath("../BlobbyEffectsSprite:scale") +tracks/14/path = NodePath("../BlobbyEffectsSprite:offset") tracks/14/interp = 1 tracks/14/loop_wrap = true tracks/14/imported = false @@ -3064,12 +3076,12 @@ tracks/14/enabled = true tracks/14/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ Vector2( -1, 1 ) ] +"update": 0, +"values": [ Vector2( 5, -1 ) ] } [sub_resource type="Animation" id=58] -length = 0.1 +length = 0.133 loop = true tracks/0/type = "value" tracks/0/path = NodePath(".:frame") @@ -3218,7 +3230,7 @@ tracks/11/keys = { [sub_resource type="Animation" id=100] resource_name = "turnToRunLeft" -length = 0.1 +length = 0.133 loop = true tracks/0/type = "value" tracks/0/path = NodePath(".:frame") @@ -4274,7 +4286,8 @@ shape = SubResource( 2 ) position = Vector2( 3.07106, -16.064 ) scale = Vector2( -1, 1 ) texture = ExtResource( 1 ) -hframes = 9 +offset = Vector2( 4, 0 ) +hframes = 10 frame = 8 [node name="BlobbySprite" type="Sprite" parent="."] @@ -4303,7 +4316,7 @@ parameters/runToJump/blend_position = 1.0 parameters/running/blend_position = 1.0 parameters/turnToRun/blend_position = 1.0 parameters/walking/blend_position = 1.0 -parameters/wallslideToJump/blend_position = 0.997743 +parameters/wallslideToJump/blend_position = 1.0 parameters/wallsliding/blend_position = 1.0 [node name="BlobbymationPlayer" type="AnimationPlayer" parent="BlobbySprite"] diff --git a/src/Actors/Blobby/BlobbyCam.gd b/src/Actors/Blobby/BlobbyCam.gd index 864d1f8..d4ac0df 100644 --- a/src/Actors/Blobby/BlobbyCam.gd +++ b/src/Actors/Blobby/BlobbyCam.gd @@ -23,8 +23,9 @@ func _set_boundaries(): # This is ok, because it only happens on initialization # But it is also quite fickle var tilemap = get_node("../../TileMap") + # TODO This goes wrong when overwriting old tiles with new sprites + # New pngs -> completely new tiles and rebuild map var rect = tilemap.get_used_rect() - print(tilemap.get_used_rect().size) var cell_size = tilemap.cell_size limit_right = rect.end.x * cell_size.x limit_left = rect.position.x * cell_size.x diff --git a/src/Actors/Blobby/BlobbyStateMachine.gd b/src/Actors/Blobby/BlobbyStateMachine.gd index 4a790d6..ab1fbba 100644 --- a/src/Actors/Blobby/BlobbyStateMachine.gd +++ b/src/Actors/Blobby/BlobbyStateMachine.gd @@ -65,10 +65,10 @@ func _state_logic(delta): if direction.x < 0 && facing == 1: didTurn = true - facing = sign(direction.x) - elif direction.x > 0 && facing == -1: + facing = -1 + elif direction.x >= 0 && facing == -1: didTurn = true - facing = sign(direction.x) + facing = 1 if didTurn: diff --git a/src/Levels/TLT Level.tscn b/src/Levels/TLT Level.tscn index 552e3d1..72051f6 100644 --- a/src/Levels/TLT Level.tscn +++ b/src/Levels/TLT Level.tscn @@ -45,9 +45,6 @@ __meta__ = { position = Vector2( 64.3594, 373.246 ) scale = Vector2( 0.878906, 0.936025 ) -[node name="BlobbyEffectsSprite" parent="Blobby" index="1"] -scale = Vector2( -1, 1 ) - [node name="AnimationTree" parent="Blobby/BlobbySprite" index="0"] parameters/playback = SubResource( 4 )