Menu
CoddyTech

길 건너기

Coddy Unity 여정의 Unity 스크립팅 기초 섹션에 포함된 레슨. 67개 중 66번째.

호퍼가 붐비는 도로 가장자리에서 기다립니다. 자동차들이 왼쪽에서 세 개 차선으로 들어와 건너갑니다. 플레이어는 위쪽 및 아래쪽 화살표 키를 사용해 한 번에 한 차선씩 앞이나 뒤로 이동하며, 반대편에 도달하려면 각 이동의 타이밍을 맞춰야 합니다. 자동차가 호퍼에 닿으면 호퍼는 시작 지점으로 돌아갑니다.

호퍼에 있는 Crossing 스크립트 하나로 게임 전체를 작성하세요.

challenge icon

챌린지

어려움

도로의 세 개 차선 아래 z = -4에서 시작하는 Hopper에 Crossing 스크립트를 작성하세요. Inspector에서 carPrefab(Car 프리팹), lanes(차선의 z 위치: -2, 0, 2), spawnEvery(1), carSpeed(5)를 설정합니다.

  • 위쪽 화살표를 누를 때마다 Hopper가 앞쪽(+z)으로 2단위 이동합니다. 아래쪽 화살표를 누를 때마다 2단위 뒤로 이동하지만, 시작한 위치보다 뒤로는 가지 않습니다.
  • spawnEvery초마다 x = -9, y = 0.5 위치의 lanes 중 무작위 차선에 Car가 나타납니다. Car는 초당 carSpeed단위의 속도로 +x 방향으로 주행하며, x가 9를 넘는 Car는 제거됩니다.
  • Car와 Hopper의 x 위치 차이가 1.5 미만이고 z 위치 차이가 1 미만이면 Car가 Hopper와 충돌합니다. 충돌하면 Hit!를 로그에 출력하고 Hopper를 시작 위치로 되돌립니다.
  • Hopper가 먼 쪽인 z = 4에 도달하면 You made it!을 로그에 출력하고 스크립트를 끕니다.

Play를 눌러 도로를 건넌 다음, Check를 누르세요.

직접 해보기

using System.Collections.Generic;
using UnityEngine;

public class Crossing : MonoBehaviour
{
    [SerializeField] private GameObject carPrefab;
    [SerializeField] private float[] lanes;
    [SerializeField] private float spawnEvery = 1f;
    [SerializeField] private float carSpeed = 5f;

    void Start()
    {
    }

    void Update()
    {
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Unity 스크립팅 기초의 모든 레슨