2 Pluspunkte 0 Minuspunkte
Wie kann ich in Godot 4 einen 2D Raycast nach unten machen ob der Player auf etwas steht?
von  

2 Antworten

0 Pluspunkte 0 Minuspunkte

Setze einen Raycast2D Node als Child deines Player.

if $RayCast2D.is_colliding():
    print("Colliding");
von (640 Punkte)  
0 Pluspunkte 0 Minuspunkte

Ein Raycast2D hat die Methode is_colliding() welche true zurückgibt wenn der Ray etwas trifft.

extends CharacterBody2D

var raycast_length = 10.0 
var raycast: RayCast2D

func _ready():
    raycast = RayCast2D.new()
    raycast.target_position = Vector2(0, raycast_length)
    raycast.enabled = true
    add_child(raycast)

func is_on_ground():
    return raycast.is_colliding()

func _physics_process(delta):
    if is_on_ground():
        print("Der Spieler steht auf dem Boden.")
    else:
        print("Der Spieler ist in der Luft.")
von (868 Punkte)