加力时 Godot 刚体不动

Godot rigidbody is not moving when force is added

我刚从 Unity 切换到 Godot,并且一直在处理基于物理的玩家移动方面遇到问题。我用 GDscript 写了一个脚本,应该给刚体增加一个力。它没有用,所以我让它在我按下应该移动刚体的按钮时将一个变量记录到控制台。变量确实记录到控制台,所以我可以断定这是刚体的问题。这是代码:

extends RigidBody
var Movement = Vector3()
var a : int = 1
func _ready():
    print(a)
func _physics_process(delta):
    Movement = Vector3(0, 0, 0)
    _get_input()
    add_force(Movement, Vector3(0, 0, 0))

func _get_input():
    if (Input.is_action_pressed("ui_right")):
        Movement.x = 1
        print(a)

我认为你需要使用这种方法来增加力量:

object.add_force(Movement, Vector3(0, 0, 0))

在你的情况下,它会导致类似的结果:

self.add_force(Movement, Vector3(0, 0, 0))

哦,我很笨。力需要更像 movement.x = 100,而不是 movement.x = 1.