刚刚按下
本课属于 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。
挑战
简单让英雄迈步,而不是行走。
- 将两个
Input.is_action_pressed都改为Input.is_action_just_pressed。 - 每步移动
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 在线编辑器