Menu
CoddyTech

英雄:跳跃

本课属于 Coddy Godot 学习旅程的“输入与移动”单元。第 24 课,共 28 课。

坑宽 80 像素。不跳跃的话,英雄无法越过它。添加一个 jump_velocity 变量,并设置一个只能在地面上触发的跳跃:

var jump_velocity = -500

# 在 _physics_process 中,处理重力之后:
if Input.is_action_just_pressed("jump") and is_on_floor():
	velocity.y = jump_velocity

一次跳跃持续约 1 秒。在这段时间里,英雄可以跑 220 像素,远远超过坑的宽度。朝坑跑去,并在到达边缘前一刻跳跃。

challenge icon

挑战

简单

让英雄跳过坑。

  1. 在顶部添加 var jump_velocity = -500。
  2. 在重力语句之后,当刚刚按下 jump 且英雄 is_on_floor() 时,将 velocity.y 设为 jump_velocity。

按“开始”,跑起来并跳跃:英雄就能越过坑。然后按“检查”。

亲手试试

extends CharacterBody2D

var speed = 220
var gravity = 1000

func _physics_process(delta):
	velocity.y += gravity * delta
	velocity.x = Input.get_axis("move_left", "move_right") * speed
	move_and_slide()

输入与移动中的所有课

自己练习: Godot 在线编辑器