From ba4e603f2b9c69ae41f9c98feceb19ff9d9e0bf8 Mon Sep 17 00:00:00 2001 From: pennyrigate Date: Sat, 15 Jun 2024 20:56:09 -0400 Subject: [PATCH] =?UTF-8?q?fixed=20ducking=20bug=20duckbug....=20=E3=81=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- objects/enemy/boss/sg2083.gd | 10 +- objects/enemy/boss/sg2083.tscn | 266 ++++++++++++++++++++++++++++++++- project.godot | 4 - 3 files changed, 273 insertions(+), 7 deletions(-) diff --git a/objects/enemy/boss/sg2083.gd b/objects/enemy/boss/sg2083.gd index 0e1c86c..512d73b 100644 --- a/objects/enemy/boss/sg2083.gd +++ b/objects/enemy/boss/sg2083.gd @@ -42,7 +42,7 @@ func _physics_process(delta: float) -> void: State.DEAD: return State.STAND: - if Input.is_action_pressed("move_down") and energy >= duck_energy: + if sign(Input.get_axis("move_up", "move_down") + get_stick_input(JOY_AXIS_1)) == 1 and energy >= duck_energy: state = State.DUCK anims.play("Duck") elif Input.is_action_pressed("move_right"): @@ -52,7 +52,7 @@ func _physics_process(delta: float) -> void: state = State.BACK anims.play("Walk", -1.0, -1.0, true) State.DUCK: - if not Input.is_action_pressed("move_down") and anims.current_animation.empty(): + if (!Input.is_action_pressed("move_down") && get_stick_input(JOY_AXIS_1) != 1) and anims.current_animation.empty(): anims.play("UnDuck") energy -= duck_energy @@ -73,6 +73,12 @@ func _input(event: InputEvent) -> void: if event.is_action_pressed("jump") and state == State.STAND and energy >= beam_energy: beam() +func get_stick_input(axis): + var inp = Input.get_joy_axis(0,axis) + if abs(inp) >= 0.5: + return sign(inp) + else: + return 0 func set_energy(value: float) -> void: energy = clamp(value, 0.0, max_energy) diff --git a/objects/enemy/boss/sg2083.tscn b/objects/enemy/boss/sg2083.tscn index 0890316..7c40c5d 100644 --- a/objects/enemy/boss/sg2083.tscn +++ b/objects/enemy/boss/sg2083.tscn @@ -1111,6 +1111,270 @@ tracks/5/keys = { "update": 1, "values": [ true, false ] } +tracks/6/type = "value" +tracks/6/path = NodePath("Axle/JointBack:position") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( -10, -4 ) ] +} +tracks/7/type = "value" +tracks/7/path = NodePath("Axle/JointBack:rotation_degrees") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 0.0 ] +} +tracks/8/type = "value" +tracks/8/path = NodePath("Axle/JointBack/LegBack:position") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0, 0 ) ] +} +tracks/9/type = "value" +tracks/9/path = NodePath("Axle/JointBack/LegBack:rotation_degrees") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ -26.8344 ] +} +tracks/10/type = "value" +tracks/10/path = NodePath("Axle/JointBack/LegBack/KneeBack:position") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0, 36 ) ] +} +tracks/11/type = "value" +tracks/11/path = NodePath("Axle/JointBack/LegBack/KneeBack:rotation_degrees") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/imported = false +tracks/11/enabled = true +tracks/11/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 0.0 ] +} +tracks/12/type = "value" +tracks/12/path = NodePath("Axle/JointBack/LegBack/KneeBack/ShinBack:position") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/imported = false +tracks/12/enabled = true +tracks/12/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0, 0 ) ] +} +tracks/13/type = "value" +tracks/13/path = NodePath("Axle/JointBack/LegBack/KneeBack/ShinBack:rotation_degrees") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 51.0254 ] +} +tracks/14/type = "value" +tracks/14/path = NodePath("Axle/JointBack/LegBack/KneeBack/ShinBack/FootBack:position") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/imported = false +tracks/14/enabled = true +tracks/14/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0.00983047, 47.8521 ) ] +} +tracks/15/type = "value" +tracks/15/path = NodePath("Axle/JointBack/LegBack/KneeBack/ShinBack/FootBack:rotation_degrees") +tracks/15/interp = 1 +tracks/15/loop_wrap = true +tracks/15/imported = false +tracks/15/enabled = true +tracks/15/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ -25.1199 ] +} +tracks/16/type = "value" +tracks/16/path = NodePath("Axle/JointFront:position") +tracks/16/interp = 1 +tracks/16/loop_wrap = true +tracks/16/imported = false +tracks/16/enabled = true +tracks/16/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 11, -4 ) ] +} +tracks/17/type = "value" +tracks/17/path = NodePath("Axle/JointFront:rotation_degrees") +tracks/17/interp = 1 +tracks/17/loop_wrap = true +tracks/17/imported = false +tracks/17/enabled = true +tracks/17/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 0.0 ] +} +tracks/18/type = "value" +tracks/18/path = NodePath("Axle/JointFront/LegFront:position") +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( 0, 0 ) ] +} +tracks/19/type = "value" +tracks/19/path = NodePath("Axle/JointFront/LegFront:rotation_degrees") +tracks/19/interp = 1 +tracks/19/loop_wrap = true +tracks/19/imported = false +tracks/19/enabled = true +tracks/19/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ -26.8344 ] +} +tracks/20/type = "value" +tracks/20/path = NodePath("Axle/JointFront/LegFront/ShinFront:position") +tracks/20/interp = 1 +tracks/20/loop_wrap = true +tracks/20/imported = false +tracks/20/enabled = true +tracks/20/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 3.8147e-06, 36 ) ] +} +tracks/21/type = "value" +tracks/21/path = NodePath("Axle/JointFront/LegFront/ShinFront:rotation_degrees") +tracks/21/interp = 1 +tracks/21/loop_wrap = true +tracks/21/imported = false +tracks/21/enabled = true +tracks/21/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 51.0254 ] +} +tracks/22/type = "value" +tracks/22/path = NodePath("Axle/JointFront/LegFront/ShinFront/FootFront:position") +tracks/22/interp = 1 +tracks/22/loop_wrap = true +tracks/22/imported = false +tracks/22/enabled = true +tracks/22/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0.00983047, 47.8521 ) ] +} +tracks/23/type = "value" +tracks/23/path = NodePath("Axle/JointFront/LegFront/ShinFront/FootFront:rotation_degrees") +tracks/23/interp = 1 +tracks/23/loop_wrap = true +tracks/23/imported = false +tracks/23/enabled = true +tracks/23/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ -25.1199 ] +} +tracks/24/type = "value" +tracks/24/path = NodePath("Axle/KneeBack:position") +tracks/24/interp = 1 +tracks/24/loop_wrap = true +tracks/24/imported = false +tracks/24/enabled = true +tracks/24/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 6.25088, 28.1233 ) ] +} +tracks/25/type = "value" +tracks/25/path = NodePath("Axle/KneeBack:rotation_degrees") +tracks/25/interp = 1 +tracks/25/loop_wrap = true +tracks/25/imported = false +tracks/25/enabled = true +tracks/25/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ -8.65142e-06 ] +} +tracks/26/type = "value" +tracks/26/path = NodePath("Axle/KneeFront:position") +tracks/26/interp = 1 +tracks/26/loop_wrap = true +tracks/26/imported = false +tracks/26/enabled = true +tracks/26/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 27.2509, 28.1233 ) ] +} +tracks/27/type = "value" +tracks/27/path = NodePath("Axle/KneeFront:rotation_degrees") +tracks/27/interp = 1 +tracks/27/loop_wrap = true +tracks/27/imported = false +tracks/27/enabled = true +tracks/27/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ -8.65142e-06 ] +} [sub_resource type="Animation" id=14] resource_name = "stomping" @@ -1610,7 +1874,7 @@ update_scale = false [node name="KneeBack" type="Sprite" parent="Axle"] modulate = Color( 0.74902, 0.74902, 0.74902, 1 ) -position = Vector2( 6.25089, 28.1233 ) +position = Vector2( 6.25088, 28.1233 ) scale = Vector2( 1, -1 ) z_index = -1 texture = ExtResource( 8 ) diff --git a/project.godot b/project.godot index 7ad022f..a82b9a1 100644 --- a/project.godot +++ b/project.godot @@ -198,7 +198,6 @@ ui_focus_prev={ ui_left={ "deadzone": 0.5, "events": [ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null) -, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":16777231,"unicode":0,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] @@ -207,7 +206,6 @@ ui_right={ "deadzone": 0.5, "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"physical_scancode":0,"unicode":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":15,"pressure":0.0,"pressed":false,"script":null) -, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":16777233,"unicode":0,"echo":false,"script":null) ] } @@ -216,7 +214,6 @@ ui_up={ "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"physical_scancode":0,"unicode":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":5,"pressure":0.0,"pressed":false,"script":null) -, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":16777232,"unicode":0,"echo":false,"script":null) ] } @@ -226,7 +223,6 @@ ui_down={ , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":4,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":7,"axis_value":1.0,"script":null) -, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":16777234,"unicode":0,"echo":false,"script":null) ] }