Menu
CoddyTech

가변 점프

Coddy Godot 여정의 입력과 이동 섹션에 포함된 레슨. 28개 중 16번째.

대부분의 플랫폼 게임에서는 버튼을 짧게 누르면 살짝 뛰어오르고, 버튼을 누르고 있으면 높이 점프합니다.

이렇게 하려면 버튼을 놓을 때 점프를 끊으세요. Input.is_action_just_released("jump")는 키를 놓는 바로 그 프레임에 true가 됩니다. 그때 영웅이 아직 상승 중이라면 상승 속도를 절반으로 줄이세요:

if Input.is_action_just_released("jump") and velocity.y < 0:
	velocity.y = velocity.y / 2

velocity.y < 0은 영웅이 아직 상승 중이라는 뜻입니다. 이 조건이 없으면 내려오는 도중에 키를 놓았을 때 낙하 속도가 느려집니다.

점프의 정점에 도달할 때까지 키를 누르고 있으면 점프가 끊기지 않습니다.

challenge icon

챌린지

중급

점프를 짧게 탭하면 작게 도약하도록 하세요.

  1. 점프의 if 뒤에 Input.is_action_just_released("jump") 및 velocity.y < 0을 위한 if를 추가하세요.
  2. 그 안에서 velocity.y를 절반으로 줄이세요.

‘플레이’를 누르세요. Space를 빠르게 탭하면 도약하고, 길게 누르면 높이 점프합니다. 그런 다음 ‘확인’을 누르세요.

직접 해보기

extends CharacterBody2D

var speed = 220
var gravity = 1000
var jump_velocity = -500

func _physics_process(delta):
	velocity.y += gravity * delta
	if Input.is_action_just_pressed("jump") and is_on_floor():
		velocity.y = jump_velocity
	velocity.x = Input.get_axis("move_left", "move_right") * speed
	move_and_slide()

입력과 이동의 모든 레슨

직접 연습해 보세요: Godot 플레이그라운드