영웅: 턱에 도달하기
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을 지나지만, 공중에 떠 있는 상태입니다.
이기려면 구덩이를 뛰어넘은 다음, 발판으로 올라가고, 그다음 턱으로 올라가세요.
챌린지
중급주인공이 절벽에 도달하면 배너를 표시하세요.
_physics_process()끝에if를 추가하세요:is_on_floor()와position.y < 170.- 그 안에서
$Banner를 표시하세요.
‘플레이’를 누르고 절벽까지 올라가세요. 배너에 You made it!이 표시됩니다. 그런 다음 ‘확인’을 누르세요.
직접 해보기
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 플레이그라운드