Menu
CoddyTech

영웅: 턱에 도달하기

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

목표는 깃발이 있는 높은 턱입니다. 영웅은 Banner를 가지고 있으며, 여기에는 해냈어요!라고 적힌 숨겨진 Label이 있습니다.

바닥에서 영웅의 position.y는 278입니다. 계단에서는 218이고, 턱에서는 158입니다. 따라서 영웅이 바닥에 있고 position.y가 170보다 작으면 턱에 있는 것입니다.

if is_on_floor() and position.y < 170:
	$Banner.visible = true

is_on_floor() 부분이 중요합니다. 바닥에서 점프해도 잠시 170을 지나지만, 그때는 공중에 있습니다.

승리하려면 구덩이를 뛰어넘은 다음, 계단으로 올라가고, 그다음 턱으로 올라가세요.

challenge icon

챌린지

중급

영웅이 난간 위, 즉 position.y가 170보다 작은 바닥에 서 있을 때 Banner를 표시하세요. 그런 다음 직접 난간에 도달해 보세요.

직접 해보기

extends CharacterBody2D

var speed = 220
var acceleration = 1200
var friction = 2400
var gravity = 1000
var jump_velocity = -500
var start_position = Vector2()

func _ready():
	start_position = position

func _physics_process(delta):
	velocity.y += gravity * delta
	if Input.is_action_just_pressed("jump") and is_on_floor():
		velocity.y = jump_velocity
	var direction = Input.get_axis("move_left", "move_right")
	if direction == 0:
		velocity.x = move_toward(velocity.x, 0, friction * delta)
	else:
		velocity.x = move_toward(velocity.x, direction * speed, acceleration * delta)
	if direction > 0:
		$Look.scale.x = 1
	if direction < 0:
		$Look.scale.x = -1
	move_and_slide()
	if position.y > 400:
		position = start_position
		velocity = Vector2(0, 0)
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

입력과 이동의 모든 레슨

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