영웅: 턱에 도달하기
Coddy Godot 여정의 입력과 이동 섹션에 포함된 레슨. 28개 중 28번째.
목표는 깃발이 있는 높은 턱입니다. 영웅은 Banner를 가지고 있으며, 여기에는 해냈어요!라고 적힌 숨겨진 Label이 있습니다.
바닥에서 영웅의 position.y는 278입니다. 계단에서는 218이고, 턱에서는 158입니다. 따라서 영웅이 바닥에 있고 position.y가 170보다 작으면 턱에 있는 것입니다.
if is_on_floor() and position.y < 170:
$Banner.visible = trueis_on_floor() 부분이 중요합니다. 바닥에서 점프해도 잠시 170을 지나지만, 그때는 공중에 있습니다.
승리하려면 구덩이를 뛰어넘은 다음, 계단으로 올라가고, 그다음 턱으로 올라가세요.
챌린지
중급영웅이 난간 위, 즉 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)
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
입력과 이동의 모든 레슨
직접 연습해 보세요: Godot 플레이그라운드