Menu
CoddyTech
flag Ru iconРусскийdown icon

Ограничение по обеим осям

Часть раздела Ввод и перемещение путешествия по Godot на Coddy. Урок 22 из 28.

Герой с видом сверху может покинуть экран с любой из четырёх сторон. У Vector2 есть собственный метод clamp, который удерживает оба числа в заданном диапазоне:

position = position.clamp(Vector2(16, 16), Vector2(624, 344))

Первый вектор обозначает верхний левый угол. Второй — нижний правый угол. Каждое число в position остаётся между соответствующими числами этих двух углов.

Герой — это круг диаметром около 32 пикселей. Поэтому его центр остаётся на расстоянии 16 пикселей от каждого края экрана размером 640 на 360.

challenge icon

Задание

Легко

Удерживай героя на экране со всех четырёх сторон. После move_and_slide() ограничь position значениями от Vector2(16, 16) до Vector2(624, 344).

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

extends CharacterBody2D

var speed = 200

func _physics_process(delta):
	velocity = Input.get_vector("move_left", "move_right", "move_up", "move_down") * speed
	move_and_slide()
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Ввод и перемещение

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