Menu
CoddyTech

Recolector de monedas: Caminar

Parte de la sección Señales y colisiones del Journey de Godot de Coddy. Lección 23 de 27.

Durante las próximas cinco lecciones, crearás Coin Collector. Te moverás por una habitación, recogerás todas las monedas y ganarás cuando no quede ninguna.

El juego tiene tres scripts:

  • player.gd: el robot que mueves.
  • coin.gd: este script se ejecuta en cada moneda.
  • main.gd: contiene las reglas del juego en Main.

Primero, el movimiento. El jugador es un CharacterBody2D. Las paredes y los dos bloques grises son StaticBody2D. Escribiste este código para mover al jugador en la sección anterior:

func _physics_process(delta):
	velocity = Input.get_vector("move_left", "move_right", "move_up", "move_down") * SPEED
	move_and_slide()

move_and_slide() mueve el cuerpo según su velocity y lo detiene al llegar a las paredes. Si cambiaras position directamente, atravesaría las paredes.

challenge icon

Desafío

Fácil

Inicia Coin Collector: haz que el jugador camine.

  1. En player.gd, asigna a velocity el resultado de multiplicar Input.get_vector("move_left", "move_right", "move_up", "move_down") por SPEED.
  2. Después, llama a move_and_slide(). Deja coin.gd y main.gd tal como están.

Pulsa «Jugar»: las flechas o WASD hacen que el jugador camine, y las paredes lo detienen. Después, pulsa «Comprobar».

Pruébalo tú mismo

extends CharacterBody2D

const SPEED = 200.0

func _physics_process(delta):
	pass

Todas las lecciones de Señales y colisiones

Practica por tu cuenta: Playground de Godot