Menu
CoddyTech

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.

challenge icon

Desafío

Fácil

Haz que la placa reaccione solo ante el jugador.

  1. En _on_body_entered(body), coloca la línea modulate dentro de un if.
  2. Haz que el if pregunte si body.name es "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