화면 안에 고정하기
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() 다음에 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 플레이그라운드