16 lines
462 B
GDScript3
16 lines
462 B
GDScript3
|
|
extends Area2D
|
||
|
|
var speed = 100
|
||
|
|
var damage = 1
|
||
|
|
var player : CharacterBody2D
|
||
|
|
|
||
|
|
func _ready() -> void:
|
||
|
|
player = get_parent().get_node("Player")
|
||
|
|
|
||
|
|
func _physics_process(delta: float) -> void:
|
||
|
|
var motion = -(position - player.position).normalized() * speed
|
||
|
|
var dist = (position - player.position).length()
|
||
|
|
self.position += motion * delta * min(1, dist/(motion.length()*delta))
|
||
|
|
|
||
|
|
if(self.overlaps_body(player)):
|
||
|
|
player.hurt(damage, self.position-player.position)
|