엔진 가동하기
Coddy Godot 여정의 프로젝트 섹션에 포함된 레슨. 33개 중 11번째.
위쪽 키를 누르면 엔진이 작동하여 우주선을 기수가 가리키는 방향으로 밀어냅니다. 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").
챌린지
중급const THRUST = 300을 추가합니다.- 위쪽 키를 누르고 있는 동안, 우주선의
velocity에Vector2.UP.rotated(rotation) * THRUST * delta를 더합니다. - 위쪽 키를 누르고 있든 아니든, 매 프레임
velocity * delta만큼 우주선을 이동합니다. - 위쪽 키를 누르고 있는 동안에만
$Flame을 표시합니다.
직접 해보기
extends CharacterBody2D
const TURN_SPEED = 4.0
func _physics_process(delta):
rotation += Input.get_axis("move_left", "move_right") * TURN_SPEED * delta
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
프로젝트의 모든 레슨
직접 연습해 보세요: Godot 플레이그라운드