Advertisement
Guest User

SCRIPT ATTACHED TO ENEMY NODE

a guest
Mar 1st, 2025
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. extends CharacterBody2D
  2. @export var player : CharacterBody2D
  3. #@onready var player = $player
  4. @onready var navigation_agent_2d: NavigationAgent2D = $NavigationAgent2D
  5. var movement_speed = 200
  6. # Called when the node enters the scene tree for the first time.
  7. func _ready() -> void:
  8.     pass # Replace with function body.
  9.  
  10.  
  11. # Called every frame. 'delta' is the elapsed time since the previous frame.
  12. func _process(_delta: float) -> void:
  13.     pass
  14.  
  15. func _physics_process(_delta: float) -> void:
  16.     var playerPos = player.global_position
  17.     navigation_agent_2d.target_position = playerPos
  18.    
  19.     var current_agent_position = global_position
  20.     var next_path_position = navigation_agent_2d.get_next_path_position()
  21.     var new_velocity = current_agent_position.direction_to(next_path_position) * movement_speed
  22.     #navigation has ended
  23.     if navigation_agent_2d.is_navigation_finished():
  24.         return
  25.        
  26.        
  27.        
  28.     if navigation_agent_2d.avoidance_enabled:
  29.         navigation_agent_2d.set_velocity(new_velocity)
  30.     else:
  31.         _on_navigation_agent_2d_velocity_computed(new_velocity)
  32.        
  33.     move_and_slide()
  34.    
  35. func _on_navigation_agent_2d_velocity_computed(safe_velocity: Vector2) -> void:
  36.     velocity = safe_velocity
  37.    
  38.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement