godot-shooter / commit
Turn rate and move speed are now both taken into account when turning, so the turning radius stays the same, even if we increase the speed.
Enemy.gd | 4 ++-- Player.gd | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Enemy.gd b/Enemy.gd index 5357cb8..8b39fe1 100644 --- a/Enemy.gd +++ b/Enemy.gd @@ -8,7 +8,7 @@ const Explosion = preload("res://Explosion.tscn") const Smoke = preload("res://Smoke.tscn") export var move_speed = 40 -export var turn_rate = 0.3 +export var turn_rate = 0.01 export var health = -1 export var max_health = 10 export var is_targeted = false @@ -56,7 +56,7 @@ func turn_towards(pos: Vector2): var to_dir = (pos - global_position).normalized() var curr_dir = velocity.normalized() var dir_diff = to_dir - curr_dir - var change = dir_diff.normalized() * turn_rate + var change = dir_diff.normalized() * turn_rate * move_speed velocity = (velocity + change).normalized() * move_speed func hurt(): diff --git a/Player.gd b/Player.gd index 9d3c7ed..c4cf544 100644 --- a/Player.gd +++ b/Player.gd @@ -7,7 +7,7 @@ export var max_health = 10 export var shot_period_seconds = .5 export var bullet: PackedScene export var is_invincible = false -export var turn_rate = 0.3 +export var turn_rate = 0.01 var PopupControl = preload("res://Popup.tscn") @@ -64,7 +64,7 @@ func turn_towards(pos: Vector2): var to_dir = (pos - global_position).normalized() var curr_dir = velocity.normalized() var dir_diff = to_dir - curr_dir - var change = dir_diff.normalized() * turn_rate + var change = dir_diff.normalized() * turn_rate * move_speed velocity = (velocity + change).normalized() * move_speed func shoot():