diff --git a/assets/blobby/blobby-effects-spritesheet.aseprite b/assets/blobby/blobby-effects-spritesheet.aseprite index ddd258f..d99068c 100644 Binary files a/assets/blobby/blobby-effects-spritesheet.aseprite and b/assets/blobby/blobby-effects-spritesheet.aseprite differ diff --git a/assets/blobby/blobby-effects-spritesheet.png b/assets/blobby/blobby-effects-spritesheet.png index 672b6fb..9bfe7ef 100644 Binary files a/assets/blobby/blobby-effects-spritesheet.png and b/assets/blobby/blobby-effects-spritesheet.png differ 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 )