英雄:跳跃
本课属于 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 像素,远远超过坑的宽度。朝坑跑去,并在到达边缘前一刻跳跃。
挑战
简单让英雄跳过坑。
- 在顶部添加
var jump_velocity = -500。 - 在重力语句之后,当刚刚按下
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 在线编辑器