조종하기
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이므로, 맨 위에서 한 번 확인합니다.
챌린지
쉬움화살표 키 또는 WASD 키로 뱀의 방향을 조종하세요.
Snake에using UnityEngine.InputSystem;을 추가하세요.Update()의 맨 위에서Keyboard.current를 읽으세요. 위쪽 화살표 키 또는 W 키를 누르면direction = Vector3.forward, 아래쪽 화살표 키 또는 S 키를 누르면Vector3.back, 왼쪽 화살표 키 또는 A 키를 누르면Vector3.left, 오른쪽 화살표 키 또는 D 키를 누르면Vector3.right가 설정됩니다.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 플레이그라운드