diff options
| author | Jan Tuomi <jan@jantuomi.fi> | 2025-11-29 12:20:32 +0200 |
|---|---|---|
| committer | Jan Tuomi <jan@jantuomi.fi> | 2025-11-29 12:20:32 +0200 |
| commit | 3c3d0c3bfd9bac15b4406318c27a91954c3e7697 (patch) | |
| tree | 028d8f5f7bb89aa14b4674cdc42eb30c53adbde7 /ps_forced.gd | |
| parent | 121c3ca9c0080005bdeebc6827aecf2b36721286 (diff) | |
Store player ref in state scripts
Diffstat (limited to 'ps_forced.gd')
| -rw-r--r-- | ps_forced.gd | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/ps_forced.gd b/ps_forced.gd index 9a8b41a..76c15b5 100644 --- a/ps_forced.gd +++ b/ps_forced.gd @@ -4,10 +4,9 @@ extends PlayerState var input_x: float var jump_coef = 1.3 -func _to_string() -> String: - return "PlayerStateForced" +func _init(pl: Player, dir: String): + super(pl) -func initialize(p: Player, dir: String): if dir == "LEFT": input_x = -1.0 elif dir == "JUMP_LEFT": @@ -25,21 +24,23 @@ func initialize(p: Player, dir: String): elif dir == "DROP": input_x = 0.0 -func _handle(p: Player, _delta: float): - var as2d = p.get_node("AnimatedSprite2D") +func _to_string() -> String: + return "PlayerStateForced" + +func _handle(_delta: float): if p.velocity.x > 0: - as2d.flip_h = false + p.anim_sp.flip_h = false elif p.velocity.x < 0: - as2d.flip_h = true + p.anim_sp.flip_h = true if not p.is_on_floor(): - as2d.set_animation("jump") + p.anim_sp.set_animation("jump") elif abs(p.velocity.x) > 0.0: - as2d.set_animation("walk") + p.anim_sp.set_animation("walk") else: - as2d.set_animation("idle") + p.anim_sp.set_animation("idle") -func _handle_physics(p: Player, delta: float): +func _handle_physics(delta: float): p.velocity.y += p.gravity * delta if p.velocity.y > p.jump_strength: p.velocity.y = p.jump_strength |
