Fixed enemy mover
This commit is contained in:
@@ -32,16 +32,4 @@ func get_acceleration_direction() -> Vector2:
|
|||||||
if distance < FREE_FLIGHT_DIST:
|
if distance < FREE_FLIGHT_DIST:
|
||||||
return Vector2.ZERO
|
return Vector2.ZERO
|
||||||
|
|
||||||
var direction_to_target := (target_position - ship.position).normalized()
|
return (target_position - ship.position).normalized()
|
||||||
var speed_to_target := ship.velocity.dot(direction_to_target)
|
|
||||||
|
|
||||||
var slow_down_distance := speed_to_target/ship.acceleration * speed_to_target
|
|
||||||
|
|
||||||
var speed_coef := distance / (slow_down_distance + FREE_FLIGHT_DIST)
|
|
||||||
|
|
||||||
var target_speed := ship.max_speed * clampf(speed_coef, 0.0, 1.0)
|
|
||||||
var target_velocity := direction_to_target * target_speed
|
|
||||||
|
|
||||||
var delta_velocity := target_velocity - ship.velocity
|
|
||||||
|
|
||||||
return direction_to_target * ship.max_speed/delta_velocity.length()
|
|
||||||
|
|||||||
+4
-1
@@ -21,6 +21,9 @@ func _create_player() -> void:
|
|||||||
|
|
||||||
|
|
||||||
func _on_enemy_timer_timeout() -> void:
|
func _on_enemy_timer_timeout() -> void:
|
||||||
enemy_swamp_controller.create_enemy()
|
|
||||||
|
var enemies := get_tree().get_nodes_in_group("enemies")
|
||||||
|
if enemies.size() < 25:
|
||||||
|
enemy_swamp_controller.create_enemy()
|
||||||
|
|
||||||
enemy_timer.start(randi_range(3, 9))
|
enemy_timer.start(randi_range(3, 9))
|
||||||
|
|||||||
Reference in New Issue
Block a user