Solo el jugador
Parte de la sección Señales y colisiones del Journey de Godot de Coddy. Lección 4 de 27.
Un área detecta todos los cuerpos que entran. A menudo solo debe contar uno, como una puerta que se abre solo para el héroe.
Usa if para comprobar quién es:
func _on_body_entered(body):
if body.name == "Player":
print("Hello, player")== pregunta si dos valores son iguales. Las líneas debajo de if, con una tabulación más, se ejecutan solo cuando lo son. Los nombres deben coincidir exactamente. "player" con p minúscula es un nombre diferente.
Aquí, el rover pasa primero sobre una placa de presión y después tú caminas sobre ella.
Desafío
FácilHaz que la placa reaccione solo ante el jugador.
- En
_on_body_entered(body), coloca la líneamodulatedentro de unif. - Haz que el
ifpregunte sibody.namees"Player", con==.
Pulsa «Jugar»: la placa conserva su color con el rover y se vuelve de color menta cuando la pisas. Después, pulsa «Comprobar».
Pruébalo tú mismo
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
modulate = Color(0.49, 0.95, 0.75)
Todas las lecciones de Señales y colisiones
Practica por tu cuenta: Playground de Godot