func _physics_process(delta), move_and_slide(), Vector2() 在 gdscript 中有什么作用?

问题描述

我刚刚开始学习编程,因为我想学习如何制作游戏。我选择 Godot 引擎开始制作游戏,但我无法理解任何东西的作用。我只了解变量和常量的概念。我正在看几个教程并准确复制视频中的人在做什么,但我不想复制并且什么都不懂,所以你能告诉我上面的东西是做什么的吗?

解决方法

物理过程在主循环的物理处理步骤中被调用。物理处理意味着帧速率与物理同步,即 delta 变量应该是恒定的,如果您只是调用 _process(delta),则情况并非如此:

Vector2() 只是一个二维向量,x 轴的第一个参数,y 轴的第二个参数。 您也可以将其用作布尔值,Vector(0,0) 始终返回 false,而其他所有点都返回 true。

move_and_slide() 被设计为一种特殊情况,因为一个常见的用例是计算沿碰撞的滑动向量。但是,因为它是滑动的,所以一个框架中可能会发生不止一次碰撞(想想当你撞到地板和墙壁之间的角落时。因此,它无法返回碰撞,所以你需要使用get_slide_collision()。 因此,它会处理例如您的角色与物体碰撞时的反应。