Menu
CoddyTech

Сборщик монет: Движение

Часть раздела Сигналы и столкновения путешествия по Godot на Coddy. Урок 23 из 27.

В следующих пяти уроках ты создашь Coin Collector. Ты ходишь по комнате, собираешь все монеты и побеждаешь, когда последняя монета исчезает.

В игре три скрипта:

  • player.gd: робот, которым ты управляешь.
  • coin.gd: этот скрипт выполняется для каждой монеты.
  • main.gd: правила игры на Main.

Сначала — ходьба. Игрок — это CharacterBody2D. Стены и два серых блока — это StaticBody2D. Ты написал этот скрипт движения в предыдущем разделе:

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

move_and_slide() перемещает тело с его velocity и останавливает его у стен. Если самостоятельно менять position, персонаж проходил бы сквозь стены.

challenge icon

Задание

Легко

Начни создавать Coin Collector: заставь игрока ходить.

  1. В player.gd присвой velocity значение Input.get_vector("move_left", "move_right", "move_up", "move_down"), умноженное на SPEED.
  2. Затем вызови move_and_slide(). Оставь coin.gd и main.gd без изменений.

Нажми «Играть»: стрелки или WASD перемещают игрока, а стены останавливают его. Затем нажми «Проверить».

Попробуйте сами

extends CharacterBody2D

const SPEED = 200.0

func _physics_process(delta):
	pass

Все уроки раздела Сигналы и столкновения

Потренируйтесь самостоятельно: Песочница Godot