提问人:kori 提问时间:8/28/2023 最后编辑:Robkori 更新时间:8/28/2023 访问量:63
move_and_slide() 调用 [duplicate] 的参数太多
Too many arguments for move_and_slide() call [duplicate]
问:
extends CharacterBody2D
var speed = 150
var jumpforce = 500
var gravity = 700
var vel = Vector2()
func _physics_process(delta):
if Input.is_action_pressed("player_left"):
vel.x -= speed
elif Input.is_action_pressed("player_right"):
vel.x += speed
move_and_slide(vel, Vector2.UP)
为什么出错???错误:move_and_slide() 调用的参数过多。预计最多 0 个,但收到 2 个。
我看了指南如何在 godot 上制作游戏,但在指南 3 版本的引擎上,我坐在 4 上,由于我几乎不知道引擎和 gdscript 的基础知识,我发现很难自己解决问题,你能帮忙吗?
答:
0赞
evilmandarine
8/28/2023
#1
在版本 4 中,velocity 现在与 up_direction 等一起成为节点属性。
现在不带任何论据。在代码中,替换以下内容:move_and_slide()
move_and_slide(vel, Vector2.UP)
有了这个:
move_and_slide()
此外,删除变量并按如下方式进行更新:vel
velocity.x += speed
它应该起作用。
评论
move_and_slide