화면 안에 고정하기
Coddy Godot 여정의 입력과 이동 섹션에 포함된 레슨. 28개 중 21번째.
왼쪽으로 달리면 영웅이 화면 밖으로 나갑니다. clamp(value, low, high)는 숫자를 두 끝값 사이에 유지합니다. value가 low보다 작으면 low를 반환하고, high보다 크면 high를 반환하며, 그 외에는 value를 반환합니다. clamp(700, 14, 626)의 결과는 626입니다.
이동한 후 위치를 제한하고 결과를 저장하세요.
move_and_slide()
position.x = clamp(position.x, 14, 626)position은 영웅의 중심이고, 영웅의 너비는 28픽셀입니다. 따라서 중심은 640픽셀 화면의 양쪽 가장자리에서 14픽셀 떨어진 곳에 유지되고, 영웅 전체가 화면에 보입니다.
챌린지
쉬움화면 안에 영웅이 모두 보이도록 하세요.
move_and_slide()다음에clamp()를 사용해position.x를 설정하세요.- 값을
14와626사이로 제한하세요.
‘플레이’를 누르고 양쪽 끝까지 달려 보세요. 영웅이 화면 안에 완전히 보인 채 가장자리에서 멈춥니다. 그런 다음 ‘확인’을 누르세요.
직접 해보기
extends CharacterBody2D
var speed = 220
var acceleration = 900
var friction = 2400
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
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()
입력과 이동의 모든 레슨
직접 연습해 보세요: Godot 플레이그라운드