Menu
CoddyTech

벽이 막아요

Coddy Godot 여정의 입력과 이동 섹션에 포함된 레슨. 28개 중 9번째.

벽과 기둥은 StaticBody2D 노드입니다. 정적 바디는 절대 움직이지 않습니다. 각 노드에는 단단한 모양을 나타내는 CollisionShape2D와 모양을 그리는 ColorRect가 있습니다.

벽을 확인하는 것은 move_and_slide()뿐입니다. position을 변경하면 확인 없이 바디가 움직이므로 벽을 통과합니다.

position.x += direction * speed * delta   # 벽을 통과함
velocity.x = direction * speed            # 벽에 막힘
move_and_slide()

# 뒤의 텍스트는 주석입니다. Godot은 이를 건너뜁니다.

비스듬한 각도로 벽에 부딪힌 바디는 벽을 따라 움직이는 부분을 계속 유지합니다. 달라붙는 대신 미끄러지기 때문에 move_and_slide()라는 이름이 붙었습니다.

challenge icon

챌린지

쉬움

벽이 영웅을 멈추게 하세요.

  1. position.x 줄을 delta 없이 velocity.x를 direction * speed로 설정하는 줄로 바꾸세요.
  2. 그 아래에 move_and_slide()를 호출하세요.

‘플레이’를 누르고 양쪽으로 걸어 보세요. 기둥과 벽이 영웅을 멈추게 합니다. 그런 다음 ‘확인’을 누르세요.

직접 해보기

extends CharacterBody2D

var speed = 200

func _physics_process(delta):
	var direction = Input.get_axis("move_left", "move_right")
	position.x += direction * speed * delta

입력과 이동의 모든 레슨

직접 연습해 보세요: Godot 플레이그라운드