我是Godot的新手,我试图沿着x轴移动一个KinematicBody2D,但我不能。下面是代码:
extends KinematicBody2D
func _physics_process(delta):
var velocity=Vector2(300, 0)
move_and_slide(velocity)
我认为这个函数(_physics_process)没有被调用或触发。
我使用Godot 2.7。这是问题所在吗?
在Godot 2中,我们有_process
和_fixed_process
,所以首先要做的是将_physics_process
改为_fixed_process
。
其次,它在默认情况下是不启用的。因此,您应该调用set_fixed_process(true)
来启用它。这样的:
extends KinematicBody2D
func _ready():
set_fixed_process(true)
func _fixed_process(delta):
var velocity=Vector2(300, 0)
move_and_slide(velocity)
也许下一个可以帮助你:
- 确保脚本附加到运动学体。
- 检查检查器中KinematicBody2D的属性
sync to physics
是否被禁用。 - 检查你的脚本中没有
set_physics_process(false)
或另一个这样做的动态脚本。