Menu
CoddyTech

타워 쌓기

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

크레인이 받침대 위에서 앞뒤로 움직입니다. 스페이스바를 누르거나 클릭할 때마다 크레인에서 블록이 곧장 아래로 떨어집니다. 블록이 쌓인 블록 위에 내려오면 그 자리에 남고, 다음 블록은 그 위에 놓여야 합니다. 빗나간 블록은 떨어져 나갑니다. 블록 더미의 높이가 점수입니다.

게임 전체를 크레인에 있는 하나의 스크립트 Crane로 작성하세요.

challenge icon

챌린지

어려움

Crane에 Crane 스크립트를 작성하세요. Inspector에서 blockPrefab(Block 프리팹), top(Base, 지금까지 쌓은 블록의 맨 위), craneSpeed(3), craneEdge(4), fallSpeed(7)을 설정하세요.

  • 크레인은 초당 craneSpeed 단위의 속도로 x축을 따라 움직입니다. craneEdge를 지나면 왼쪽으로 방향을 바꾸고, -craneEdge를 지나면 오른쪽으로 방향을 바꿉니다.
  • Space 키를 누르거나 왼쪽 클릭을 하면 크레인의 x 위치에서 크레인보다 1단위 아래로 Block을 떨어뜨립니다. 블록이 떨어지는 동안에는 키를 더 눌러도 아무 일도 일어나지 않습니다.
  • 떨어지는 블록은 초당 fallSpeed 단위의 속도로 아래로 이동합니다.
  • 블록의 y가 top의 y + 1까지 내려오고, x가 top의 x에서 1 미만의 거리에 있으면 블록이 착지합니다. 블록의 y를 정확히 top의 y + 1로 설정하고, 블록을 새로운 top으로 지정한 다음, 쌓인 높이를 Stack: 1, Stack: 2 등으로 로그에 출력합니다.
  • 착지하지 않은 블록은 계속 떨어집니다. y = -3 아래로 내려가면 블록을 제거하고 Missed!를 로그에 출력합니다.

Play를 눌러 탑을 쌓은 다음 Check를 누르세요.

직접 해보기

using UnityEngine;

public class Crane : MonoBehaviour
{
    [SerializeField] private GameObject blockPrefab;
    [SerializeField] private Transform top;
    [SerializeField] private float craneSpeed = 3f;
    [SerializeField] private float craneEdge = 4f;
    [SerializeField] private float fallSpeed = 7f;

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

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

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