Menu
CoddyTech

Coletor de Moedas: Andar

Parte da seção Sinais e colisões do Journey de Godot da Coddy. Lição 23 de 27.

Nas próximas cinco lições, você vai criar Coin Collector. Você anda por uma sala, pega todas as moedas e vence quando a última moeda desaparecer.

O jogo tem três scripts:

  • player.gd: o robô que você controla.
  • coin.gd: usado por todas as moedas.
  • main.gd: contém as regras do jogo em Main.

Primeiro, vamos andar. O jogador é um CharacterBody2D. As paredes e os dois blocos cinza são StaticBody2D. Você escreveu este código de movimentação na seção anterior:

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

move_and_slide() move o corpo de acordo com sua velocity e o impede de atravessar as paredes. Alterar position por conta própria faria o personagem atravessá-las.

challenge icon

Desafio

Fácil

Inicie o Coin Collector: faça o jogador andar.

  1. Em player.gd, defina velocity como Input.get_vector("move_left", "move_right", "move_up", "move_down") vezes SPEED.
  2. Em seguida, chame move_and_slide(). Deixe coin.gd e main.gd como estão.

Pressione “Jogar”: as setas ou WASD fazem o jogador andar, e as paredes o impedem. Depois, pressione “Verificar”.

Experimente você mesmo

extends CharacterBody2D

const SPEED = 200.0

func _physics_process(delta):
	pass

Todas as lições de Sinais e colisões

Pratique por conta própria: Playground de Godot