1
Fork 0
mirror of https://github.com/Steffo99/hella-farm.git synced 2025-02-16 17:13:58 +00:00

Create generic MoveTowardsMouse behaviour

This commit is contained in:
Steffo 2024-04-13 23:40:34 +02:00
parent 0bb9d427e9
commit cc2874dd90
Signed by: steffo
GPG key ID: 5ADA3868646C3FC0
2 changed files with 29 additions and 0 deletions

View file

@ -0,0 +1,26 @@
extends Node2D
class_name MoveTowardsMouse
signal move(movement: Vector2)
@export_range(-5, 5, 1) var speed := 1.0
@onready var viewport: Viewport = get_viewport()
@onready var target = get_parent()
func get_relative_mouse_position():
var viewport_position: Vector2 = viewport.position
var viewport_mouse_position: Vector2 = viewport.get_mouse_position()
var global_mouse_position: Vector2 = viewport_position + viewport_mouse_position
var relative_mouse_position: Vector2 = global_mouse_position - global_position
return relative_mouse_position
func _physics_process(delta: float) -> void:
var direction: Vector2 = position.direction_to(get_relative_mouse_position())
var movement: Vector2 = direction * delta * speed
Log.p(self, "Moving: %s" % movement)
move.emit(movement)

View file

@ -0,0 +1,3 @@
[gd_scene format=3 uid="uid://bvrxvrjlo5130"]
[node name="MoveTowardsMouse" type="Node2D"]