본문 바로가기
게임 개발(유니티)/멋쟁이 사자처럼 3기_회고록

[멋쟁이사자처럼 유니티 TIL] 2024_12_30~31 강의 요약 및 정리(3)

by goraku97 2025. 1. 5.

스크립트 특징

2. TetrisManager

Singleton

- 가장 기본적이면서도 중요한 패턴으로, GameManager나 AudioManager 같은 전역 접근이 필요한 컴포넌트에 사용

- 일반적으로 클래스는 여러 개의 인스턴스를 생성할 수 있지만, 

   싱글턴 패턴에서는 단 하나의 인스턴스만 생성되도록 제한

 

// MonoBehaviour 을 상속해서 싱글턴을 구현할수도 있음.
//  따라서, MonoBehaviour를 싱글턴으로 만들 때는 new로 인스턴스를 생성하지 않고, 
//  FindObjectOfType 또는 게임 오브젝트를 직접 생성하여 인스턴스를 관리해야 함.
-
클래스 : 객체를 정의하는 틀 또는 설계도 (예: 클래스는 "자동차"라는 설계도)
- 인스턴스: 클래스를 기반으로 만들어진 구체적인 객체( 예: 인스턴스는 "내가 실제로 소유한 특정 자동차")

public class TetrisManager : Singleton<TetrisManager>

 

const

- 값이 고정되어 변경되지 않는 변수.

  프로그래밍에서 상수는 주로 특정 값이 코드 전체에서 변하지 않도록 보장할 때 사용

// const 앞에 public 을 선언해도, Inspector 창에 표시되지 않으며, 수정할 수 없음. 

    그저 외부에서만 접근이 가능한 코드

// const 는 기본적으로 private 이기 때문에, 코드에 private 접근 제한자가 명시되어 있지 

   않더라도 실제로는 private로 취급됨.

const float X_OFFSET = 4.5f;
const float Y_OFFSET = 8.5f;
private const int LINE_MAX_INDEX = 10;

 

2차원 배열

- [ ][ ]는 2차원 배열을 나타냅니다.

- 열의 첫 번째 대괄호([ ])는 ""을 나타내고, 두 번째 대괄호([ ])는 ""을 나타냄.

private int[][] grid = null;
private Block[][] gridBlocks = null;