Menu
CoddyTech

刚刚按下

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

按住按键时,Input.is_action_pressed() 在每一帧都为 true。这适合用来走路。跳跃或射击应该在每次按下按键时只触发一次。

只有在按键按下的那一帧,Input.is_action_just_pressed() 才为 true。要让它再次为 true,玩家需要先松开按键,再次按下。

func _process(delta):
	if Input.is_action_just_pressed("move_right"):
		position.x += 40

这个英雄每按一次按键,就迈出一步,每步 40 像素。步伐是固定距离,而不是速度,所以它不需要 delta。

challenge icon

挑战

简单

让英雄迈步,而不是行走。

  1. 将两个 Input.is_action_pressed 都改为 Input.is_action_just_pressed。
  2. 每步移动 40 像素,不使用 delta:按 move_right 向右,按 move_left 向左。

按“运行”,再点按方向键:无论你按住多久,英雄每次按下都会移动 40 像素。然后按“检查”。

亲手试试

extends Node2D

func _process(delta):
	if Input.is_action_pressed("move_right"):
		position.x += 200 * delta
	if Input.is_action_pressed("move_left"):
		position.x -= 200 * delta

输入与移动中的所有课

自己练习: Godot 在线编辑器