Menu
CoddyTech

화면 안에 고정하기

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픽셀 떨어진 곳에 유지되고, 영웅 전체가 화면에 보입니다.

challenge icon

챌린지

쉬움

화면 안에 영웅이 모두 보이도록 하세요.

  1. move_and_slide() 다음에 clamp()를 사용해 position.x를 설정하세요.
  2. 값을 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 플레이그라운드