1
Fork 0
mirror of https://github.com/Steffo99/pineapple-surf.git synced 2024-11-25 01:04:18 +00:00

MoveTowardsPlayer: Use a target instead of the direct parent

This commit is contained in:
Steffo 2023-01-08 10:11:38 +01:00
parent b97916bedc
commit c9d4df4a86
Signed by: steffo
GPG key ID: 6965406171929D01
2 changed files with 6 additions and 5 deletions

View file

@ -1,9 +1,9 @@
extends Node extends Node
@export var force_multiplier: float = 0.0 @export var force_multiplier: float
@export var target: RigidBody3D
# Must be BELOW the player node to work! # Must be BELOW the player node to work!
@onready var parent: RigidBody3D = get_parent()
@onready var magnet_area: Area3D = $MagnetArea @onready var magnet_area: Area3D = $MagnetArea
@onready var player: CharacterBody3D = get_tree().root.find_child("Player", true, false) @onready var player: CharacterBody3D = get_tree().root.find_child("Player", true, false)
@ -17,9 +17,9 @@ func capture():
func _physics_process(delta): func _physics_process(delta):
if captured: if captured:
var direction = player.position - parent.position var direction = player.position - target.position
var force = direction.normalized() * force_multiplier * delta var force = direction.normalized() * force_multiplier * delta
parent.apply_force(force) target.apply_force(force)
func _on_magnet_area_body_entered(body: Node3D): func _on_magnet_area_body_entered(body: Node3D):

View file

@ -22,9 +22,10 @@ shape = SubResource("CylinderShape3D_t5bjw")
[node name="PineappleMesh" parent="." instance=ExtResource("1_ndmmp")] [node name="PineappleMesh" parent="." instance=ExtResource("1_ndmmp")]
[node name="MoveTowardsPlayer" type="Node3D" parent="."] [node name="MoveTowardsPlayer" type="Node3D" parent="." node_paths=PackedStringArray("target")]
script = ExtResource("2_d3itl") script = ExtResource("2_d3itl")
force_multiplier = 1250.0 force_multiplier = 1250.0
target = NodePath("..")
[node name="MagnetArea" type="Area3D" parent="MoveTowardsPlayer"] [node name="MagnetArea" type="Area3D" parent="MoveTowardsPlayer"]
collision_layer = 0 collision_layer = 0