summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--player.gd14
-rw-r--r--player.tscn4
-rw-r--r--room_test1.tscn6
3 files changed, 13 insertions, 11 deletions
diff --git a/player.gd b/player.gd
index 900f472..df69f95 100644
--- a/player.gd
+++ b/player.gd
@@ -3,7 +3,7 @@ extends CharacterBody2D
@export var speed: float
@export var jump_strength: float
-@export var coyote_max: int
+@export var coyote_max_ms: float
@export var jump_held_coef: float
@export var curve_speed: float
@@ -28,8 +28,8 @@ var prev_dir: float = 0.0
var jump_was_released: bool = true
# coyote = 0 indicates on floor
-# coyote > 0 indicates frames since on floor
-var coyote: int = 0
+# coyote > 0 indicates seconds since on floor
+var coyote: float = 0
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
@@ -96,13 +96,15 @@ func _movement_normal(delta: float):
if is_on_floor():
coyote = 0
else:
- coyote += 1
+ coyote += delta
- var can_jump = coyote < coyote_max and jump_was_released
+ var can_jump = coyote < (coyote_max_ms * 0.001) and jump_was_released
+ if Input.is_action_just_pressed("jump"):
+ print_debug("coyote:", coyote, ", max:", coyote_max_ms * 0.001)
if Input.is_action_pressed("jump") and can_jump:
velocity.y = -jump_strength
# Force coyote time to expire to forbid double jumps
- coyote = coyote_max
+ coyote = coyote_max_ms
jump_was_released = false
if not Input.is_action_pressed("jump"):
diff --git a/player.tscn b/player.tscn
index 5e576e5..152142c 100644
--- a/player.tscn
+++ b/player.tscn
@@ -103,6 +103,10 @@ size = Vector2(6, 6)
[node name="Player" type="CharacterBody2D"]
script = ExtResource("2_onrkg")
+speed = 70.0
+jump_strength = 200.0
+coyote_max_ms = 100.0
+jump_held_coef = 0.8
curve_speed = 0.1
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
diff --git a/room_test1.tscn b/room_test1.tscn
index 55a0449..2cd5b1b 100644
--- a/room_test1.tscn
+++ b/room_test1.tscn
@@ -9,7 +9,7 @@
[sub_resource type="Curve2D" id="Curve2D_m3rqw"]
bake_interval = 1.0
_data = {
-"points": PackedVector2Array(0, 0, 0, 0, 104, 72, 0, 0, 0, 0, 120, 3, 0, 0, 0, 0, 176, -28, 0, 0, 0, 0, 223, -43, 0, 0, 0, 0, 271, -53, 0, 0, 0, 0, 317, -83, 0, 0, 0, 0, 341, -128, 0, 0, 0, 0, 368, -159, 0, 0, 0, 0, 407, -167, 0, 0, 0, 0, 433, -152, 0, 0, 0, 0, 439, -125, 0, 0, 0, 0, 440, -65)
+"points": PackedVector2Array(1.0275011, -4.2428093, -1.0275011, 4.2428093, 94, 73, -18.223213, 32.899162, 18.223213, -32.899162, 120, 4, -37.211525, 10.224476, 37.211525, -10.224476, 176, -28, -21.214048, 9.668041, 21.214048, -9.668041, 223, -43, -17.31901, 8.207402, 17.31901, -8.207402, 271, -53, -10.502692, 9.459378, 10.502692, -9.459378, 317, -83, -8.207402, 13.145754, 8.207402, -13.145754, 341, -128, -17.388563, 11.754669, 17.388563, -11.754669, 368, -159, -15.649707, -4.103701, 15.649707, 4.103701, 407, -167, -5.9121118, -9.459378, 5.9121118, 9.459378, 433, -152, 0, 0, 0, 0, 439, -125, 0, 0, 0, 0, 440, -65)
}
point_count = 12
@@ -36,10 +36,6 @@ tile_set = ExtResource("7_qglt1")
[node name="Player" parent="." instance=ExtResource("2_qglt1")]
position = Vector2(87, 91)
collision_layer = 2
-speed = 70.0
-jump_strength = 200.0
-coyote_max = 10
-jump_held_coef = 0.8
[node name="GameCamera" parent="Player" instance=ExtResource("3_mrrx3")]
unique_name_in_owner = true