在 3d fps 教程的 godot 文档中,一行代码已过时,而且我是编码新手,所以我不知道如何修复它

问题描述 投票:0回答:1

在 3d fps 教程 godot 文档中,靠近底部的一行代码已过时。我是用 godot 编码的新手,我对 java 脚本有一点经验,但仅此而已。代码行如下所示。

VVV

vel = move_and_slide(vel, Vector3(0, 1, 0), 0.05, 4, deg2rad(MAX_SLOPE_ANGLE))

我知道要修复 deg2rad 部分,它应该是 deg_to_rad,但是一旦我这样做,它就会给我这个错误。

“move_and_slide()”调用的参数太多。预计最多 0 个,但收到了 5 个。

我不知道该尝试什么,因为就像我说的,我是使用 godot 进行编码的新手,我了解一点 GDScript,但不足以自行解决这个问题。

godot gdscript godot4
1个回答
0
投票

正如错误消息所示,自 Godot 4 以来,

move_and_slide()
不再接受任何参数。相反,您应该分配
CharacterBody3D
的速度属性,然后调用
move_and_slide()

我建议您查看资源库中的一些示例项目,您可能会在其中找到如下代码:

var input_dir := Input.get_vector("move_left", "move_right", "move_forward", "move_backward")
var direction := input_dir.rotated(-global_rotation.y)

velocity.x = lerp(velocity.x, direction.x * speed, accel * delta)
velocity.z = lerp(velocity.z, direction.y * speed, accel * delta)
velocity.y -= gravity * delta

move_and_slide()
© www.soinside.com 2019 - 2024. All rights reserved.