diff options
author | nokoe <nokoe@mailbox.org> | 2024-06-23 15:49:36 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-06-23 19:32:56 +0200 |
commit | 83196d7d7fb45418d6aac8a8cceab55e69966b80 (patch) | |
tree | a41496a26ae1a9565ba9a53d79b3c1e538ae8f00 | |
parent | f01b67030386f2d85df5d5fd6487ca5277bd7e83 (diff) | |
download | hurrycurry-83196d7d7fb45418d6aac8a8cceab55e69966b80.tar hurrycurry-83196d7d7fb45418d6aac8a8cceab55e69966b80.tar.bz2 hurrycurry-83196d7d7fb45418d6aac8a8cceab55e69966b80.tar.zst |
only renew target when not interacting
-rw-r--r-- | client/scripts/controllable_player.gd | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/client/scripts/controllable_player.gd b/client/scripts/controllable_player.gd index 12925f60..91b786c5 100644 --- a/client/scripts/controllable_player.gd +++ b/client/scripts/controllable_player.gd @@ -7,6 +7,8 @@ const PLAYER_SPEED: float = 25.; var facing = Vector2(1, 0) var velocity_ = Vector2(0, 0) +var target: Vector2i = Vector2i(0, 0) + func _ready(): var timer = Timer.new() timer.one_shot = false @@ -22,10 +24,14 @@ func _process(delta): input = input.rotated(-game.camera.angle_target) position_anim = position_ rotation_anim = rotation_ - if not Input.is_action_pressed("interact")||Input.is_action_just_pressed("interact"): - interact() - else: + if Input.is_action_pressed("interact") or Input.is_action_just_released("interact"): input *= 0 + else: + target = Vector2i( + int(floor(position.x + sin(rotation.y))), + int(floor(position.z + cos(rotation.y))) + ) + interact() update(delta, input) super(delta) @@ -73,10 +79,6 @@ func update_position(new_position: Vector2, _new_rotation: float): position_ = new_position func interact(): - var target = Vector2i( - int(floor(position.x + sin(rotation.y))), - int(floor(position.z + cos(rotation.y))) - ) var tile_idx = str(target) var t: Floor = game.map.tile_by_pos.get(tile_idx) if t != null: |