Menu
CoddyTech

조종하기

Coddy의 Unity 게임: 3D 스네이크 코스 레슨. 14개 중 2번째.

뱀은 화살표 키 또는 WASD 키로 방향을 바꿉니다. 카메라는 보드 앞쪽 가장자리에서 보드를 내려다보므로, 화면 위쪽은 +z 방향인 Vector3.forward이고 아래쪽은 Vector3.back입니다. Vector3.up은 하늘을 향합니다. 이 방향으로 머리를 움직이면 보드에서 벗어나 위로 올라갑니다.

방향 전환은 키를 한 번 누를 때마다 한 번씩 일어나므로, wasPressedThisFrame으로 키를 읽습니다. 키를 누르면 direction만 바뀌고, 머리는 다음 틱에 Step()으로 계속 이동합니다.

Keyboard keyboard = Keyboard.current;
if (keyboard != null && keyboard.dKey.wasPressedThisFrame)
{
    direction = Vector3.right;
}

화살표 키와 해당 문자는 서로 ||로 연결된 두 개의 키입니다. 키보드가 없는 기기에서는 Keyboard.current가 null이므로, 맨 위에서 한 번 확인합니다.

challenge icon

챌린지

쉬움

화살표 키 또는 WASD 키로 뱀의 방향을 조종하세요.

  1. Snake에 using UnityEngine.InputSystem;을 추가하세요.
  2. Update()의 맨 위에서 Keyboard.current를 읽으세요. 위쪽 화살표 키 또는 W 키를 누르면 direction = Vector3.forward, 아래쪽 화살표 키 또는 S 키를 누르면 Vector3.back, 왼쪽 화살표 키 또는 A 키를 누르면 Vector3.left, 오른쪽 화살표 키 또는 D 키를 누르면 Vector3.right가 설정됩니다.
  3. Step()은 그대로 두세요. 머리는 다음 틱에 방향을 바꿉니다.

‘플레이’를 누르고 게임을 클릭한 다음 방향을 조종하세요. 머리가 다음 단계에서 방향을 바꿉니다. 그런 다음 ‘확인’을 누르세요.

직접 해보기

using UnityEngine;

public class Snake : MonoBehaviour
{
    public float tick = 0.15f;   // 두 번의 이동 사이 간격(초)
    private float timer;
    private Vector3 direction = Vector3.right;

    void Update()
    {
        timer += Time.deltaTime;
        if (timer >= tick)
        {
            timer -= tick;
            Step();
        }
    }

    void Step()
    {
        transform.position += direction;
    }
}

Unity 게임: 3D 스네이크의 모든 레슨

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