From 6c85baffb5de3541eb8eed500ab3c0103166b099 Mon Sep 17 00:00:00 2001 From: Eduardo Date: Tue, 6 Feb 2024 01:54:48 +0100 Subject: [PATCH] added "noise" generator and timer to clear it --- player/Player.gd | 22 ++++++++++++++++++---- player/Player.tscn | 8 +++++++- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/player/Player.gd b/player/Player.gd index 47c5b64..16ca9a1 100644 --- a/player/Player.gd +++ b/player/Player.gd @@ -1,16 +1,18 @@ extends CharacterBody3D # How fast the player moves in meters per second. -@export var speed = 5 +@export var speed := 5 # The downward acceleration when in the air, in meters per second squared. -@export var fall_acceleration = 10 +@export var fall_acceleration := 10 @export var pivot: Node3D -var target_velocity = Vector3.ZERO +var target_velocity := Vector3.ZERO +var noise: int = 0 + # Called every frame. 'delta' is the elapsed time since the previous frame. func _physics_process(_delta): - var direction = Vector3.ZERO + var direction := Vector3.ZERO if Input.is_action_pressed("move_right"): direction += transform.basis.x @@ -25,6 +27,11 @@ func _physics_process(_delta): direction = direction.normalized() pivot.look_at(position + direction, Vector3.UP) + # if movement make some noise + if randf() > .95: + noise = clamp(noise + 1, 0, 9) + set_meta("noise", noise) + target_velocity.x = direction.x * speed target_velocity.z = direction.z * speed @@ -33,3 +40,10 @@ func _physics_process(_delta): velocity = target_velocity move_and_slide() + + +# each second +func _on_timer_timeout(): + noise = clamp(noise - 1, 0, 9) + set_meta("noise", noise) + print(noise) diff --git a/player/Player.tscn b/player/Player.tscn index 1cb17df..a805ecd 100644 --- a/player/Player.tscn +++ b/player/Player.tscn @@ -13,10 +13,14 @@ volumetric_fog_albedo = Color(0.144063, 0.144063, 0.144063, 1) radius = 0.25 height = 1.8 -[node name="CharacterBody3D" type="CharacterBody3D" node_paths=PackedStringArray("pivot")] +[node name="CharacterBody3D" type="CharacterBody3D" node_paths=PackedStringArray("pivot") groups=["player"]] top_level = true script = ExtResource("1_x0wva") pivot = NodePath("Pivot") +metadata/noise = 0.0 + +[node name="Timer" type="Timer" parent="."] +autostart = true [node name="Pivot" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0) @@ -32,3 +36,5 @@ player = NodePath("..") [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0) shape = SubResource("CapsuleShape3D_22gap") + +[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"] -- 2.30.2