Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Godot 4 не принимает аргументы

Артур Сабиров Знаток (316), на голосовании 4 месяца назад
extends CharacterBody2D

var speed = 150
var jumpForce = 500
var gravity = 500

var vel = Vector2()

func _physics_process(delta):
if Input.is _action_pressed("player_left"):
vel.x -= speed
elif Input.is _action_pressed("player_right"):
vel.x += speed

move_and_slide(vel, Vector2.UP)
Строка 15:Too many arguments for "move_and_slide()" call. Expected at most 0 but received 2.
Пожалуйста, напишите правильную версию кода
Голосование за лучший ответ
Николай Лобков Профи (723) 5 месяцев назад
В Godot 4 метод move_and_slide не имеет аргументов, а перемещает он за счёт встроенной в CharacterBody переменной velocity. Чтобы исправить данную ошибку, следует убрать аргументы из move_and_slide и на строке выше добавить velocity = vel

Исправленный код:
 extends CharacterBody2D  

var speed = 150
var jumpForce = 500
var gravity = 500

var vel = Vector2()

func _physics_process(delta):
if Input.is_action_pressed("player_left"):
vel.x -= speed
elif Input.is_action_pressed("player_right"):
vel.x += speed

velocity = vel
move_and_slide()
Артур СабировЗнаток (316) 5 месяцев назад
Большое спасибо! Всё работает!
Похожие вопросы