2D движение как исправить?

Я задавал этот вопрос раньше и получил ответ, но этот ответ не сработал, и парень не ответил, так что вот мое последнее усилие: кинематическое тело не движется, да, я добавил элементы управления в настройку проекта, да, ошибок нет. Я не знаю что делать. `

Extends KinematicBody2D
var movespeed = 500

func _ready():
    pass # Replace with function body.
func _physics_process(delta):
    var motion = Vector2()

    if Input.is_action_pressed("up"):
        motion.y -= 1
        if Input.is_action_pressed("down"):
            motion.y += 1
    if Input.is_action_pressed("left"):
        motion.x += 1
    if Input.is_action_pressed("right"):
        motion.x -= 1

    motion = motion.normalized()

``


person General Imperial    schedule 23.03.2021    source источник
comment
Вы пробовали перемещать и сдвигать?? Это сузило бы проблему.   -  person TheChubbyPanda    schedule 24.03.2021


Ответы (1)


Вы создали вектор с именем motion и установили для него значения, однако на самом деле вы никогда ничего не делаете с этими данными.

Лучше всего использовать что-то вроде переместите и сдвиньте, чтобы изменить положение кинематического тела.

Однако, используя то, что у вас есть, вы можете добавить свои значения движения к global_transform узла, что будет иметь аналогичный эффект.

person TheChubbyPanda    schedule 23.03.2021