二维运动如何修复?

2D movement how to fix?

我之前问过这个问题并得到了答案,但那个答案没有用,那个人也没有回应,所以这是我最后的努力,运动学体没有移动是的,我在项目设置中添加了控件,是的,没有错误.我不知道该怎么办。 `

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()

``

您已经创建了一个名为 motion 的 Vector 并设置了它的值,但是您实际上从未对该数据执行任何操作。

最好使用 move and slide 之类的东西来改变运动体的位置。

但是,您可以使用现有资源将运动值添加到节点的 global_transform,这会产生类似的效果。