Menu
CoddyTech

受重力下落

本课属于 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。

challenge icon

挑战

简单

让英雄下落。

  1. 在 _physics_process() 中,在 move_and_slide() 上方,将 gravity * delta 加到 velocity.y 上。
  2. 使用 +=,这样英雄每一帧都会下落得更快。

按“开始”:英雄会越落越快,并落到地板上。然后按“检查”。

亲手试试

extends CharacterBody2D

var gravity = 1000

func _physics_process(delta):
	move_and_slide()

输入与移动中的所有课

自己练习: Godot 在线编辑器