Menu
CoddyTech

엔진 가동하기

Coddy Godot 여정의 프로젝트 섹션에 포함된 레슨. 36개 중 12번째.

위쪽 키를 누르면 엔진이 작동해 배의 앞부분이 가리키는 방향으로 배를 밀어냅니다. Vector2.UP은 (0, -1)입니다. rotated(rotation)은 배가 회전한 만큼 화살표를 회전시킵니다:

if Input.is_action_pressed("move_up"):
	velocity += Vector2.UP.rotated(rotation) * THRUST * delta
position += velocity * delta

엔진은 위치가 아니라 속도를 바꿉니다. 위쪽 키에서 손을 떼도 배는 계속 미끄러져 나아갑니다. 멈추려면 반대 방향으로 돌아서 추진하세요.

배에는 숨겨진 Flame 자식 노드가 있습니다. 엔진이 작동하는 동안 표시하세요: $Flame.visible = Input.is_action_pressed("move_up").

challenge icon

챌린지

중급

엔진으로 함선을 추진시키세요.

  1. const THRUST = 300을 추가하세요.
  2. 위쪽 키를 누르고 있는 동안 Vector2.UP.rotated(rotation) * THRUST * delta를 velocity에 더하세요.
  3. 키를 누르고 있는지와 관계없이 매 프레임 velocity * delta만큼 함선을 이동시키세요.
  4. 위쪽 키를 누르고 있는 동안에만 $Flame을 표시하세요.

‘플레이’를 누르고 위쪽 키를 길게 누르세요. 불꽃이 타오르고, 키에서 손을 뗀 뒤에도 함선이 계속 미끄러지듯 움직입니다. 그런 다음 ‘확인’을 누르세요.

직접 해보기

extends CharacterBody2D

const TURN_SPEED = 4.0

func _physics_process(delta):
	rotation += Input.get_axis("move_left", "move_right") * TURN_SPEED * delta

프로젝트의 모든 레슨

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