Для управления движением игрока на W, A, S, D в Godot, а также прыжками на пробел, мы можем использовать встроенную систему ввода и обработки ввода в GDScript. Приведенный ниже код демонстрирует, как это сделать, и мы постараемся сделать его максимально чистым и профессиональным, следуя стандартам.
Настройка ввода в Godot:
Откройте проект Godot.
Перейдите в Project -> Project Settings -> Input Map.
Добавьте новые действия: move_up, move_down, move_left, move_right, jump.
Назначьте соответствующие клавиши (W, A, S, D для движения и Пробел для прыжка).
Код для управления движением и прыжками:
extends KinematicBody2D
# Скорость движения и прыжка
export var move_speed := 200
export var jump_force := -400
export var gravity := 20
# Вектор скорости
var velocity := Vector2.ZERO
func _ready():
pass
func _physics_process(delta):
# Обработка гравитации
velocity.y += gravity
# Сброс горизонтальной скорости
velocity.x = 0
# Управление движением
if Input.is_action_pressed("move_up"):
move_up()
if Input.is_action_pressed("move_down"):
move_down()
if Input.is_action_pressed("move_left"):
move_left()
if Input.is_action_pressed("move_right"):
move_right()
# Прыжок
if Input.is_action_just_pressed("jump") and is_on_floor():
jump()
# Движение игрока
velocity = move_and_slide(velocity, Vector2.UP)
# Функции для движения
func move_up():
velocity.y = -move_speed
func move_down():
velocity.y = move_speed
func move_left():
velocity.x = -move_speed
func move_right():
velocity.x = move_speed
func jump():
velocity.y = jump_force