受重力下落
本课属于 Coddy Godot 学习旅程的“输入与移动”单元。第 12 课,共 28 课。
这个游戏采用横向视角,英雄一开始在空中。重力会让它下落得越来越快,因为每一帧都会增加下落速度。
向下对应更大的 y,所以重力会增加 velocity.y:
var gravity = 1000
func _physics_process(delta):
velocity.y += gravity * delta
move_and_slide()gravity 表示下落速度每秒增加多少。每一帧会增加其中的 gravity * delta。velocity 本身仍然不会乘以 delta。
英雄落到地面时,move_and_slide() 会让它停下来,并将 velocity.y 设为 0。
挑战
简单让英雄下落。
- 在
_physics_process()中,在move_and_slide()上方,将gravity * delta加到velocity.y上。 - 使用
+=,这样英雄每一帧都会下落得更快。
按“开始”:英雄会越落越快,并落到地板上。然后按“检查”。
亲手试试
extends CharacterBody2D
var gravity = 1000
func _physics_process(delta):
move_and_slide()
输入与移动中的所有课
自己练习: Godot 在线编辑器