본문 바로가기
게임 튜토리얼/테트리스(완)

c# Unity 유니티 튜토리얼 테트리스 만들기 07. 블럭 삭제 Part01

by 지나팩 2024. 4. 1.

블럭이 한 줄 완성 시의 블럭 삭제 부분을 구현해보도록 합시다.

 

우선 블럭이 삭제되었을 때의 각 이미지가 필요합니다. 

Blocks.zip
0.04MB

 

 

위 파일을 압축풀어서 Resources 폴더에 넣어줍니다.

 

1. 우선 블럭이 어딘가에 고정이 되었다면 고정된 블럭들을 담아둘 리스트를 하나 작성합니다. BoardComponent에 아래와 같이 작성을 합니다.

 

2. BoardComponent 리스트에 블럭을 추가하는 함수를 작성합니다. 외부에서 호출할 수 있도록 public으로 작성합니다.

 

 

3. 블럭이 고정 시 블럭 배열을 체크하여 가로로 완성된 줄이 있는지 검색하는 함수를 작성합니다.

 

 

 

 

https://play.google.com/store/apps/details?id=com.goldenegg

 

골든 에그 - Google Play 앱

수박 게임류의 머지 게임입니다.

play.google.com

 

4. 만약 삭제한 줄이 있다면 고정된 블럭들의 y축을 삭제한 줄 갯수만큼 아래로 내려줍니다. 위 함수에 이어서 작성합니다.

 

 

 

5. 블럭이 아래로 이동 후 고정되었을 때 위에서 작성한 코드를 호출합니다. TetrominoMoveComponent의 MoveDown() 함수를 수정해줍니다.

 

6. LineCheck 함수에서 작성한 코드 중 아래의 코드를 TetrominoMoveComponent에 구현해 줍니다. 

 

 

 

7. 각 블럭들을 구성하고 있는 블럭 갯수에 따라 변경해 줄 이미지를 포함하고 이미지를 변경해주는 코드를 작성합니다.

우선 블럭 프리팹들을 수정하여 이미지를 포함하도록 합시다. ㅜ 블럭을 토대로 설명하도록 하겠습니다.

위 이미지 처럼 블럭에 Img 오브젝트를 하나 생성하여 그 아래에 네 개의 오브젝트 b1~4까지 추가해줍니다.

 

블럭이 네 개일 경우는 온전한 블럭 이미지를 연결해 둡니다.

 

아래의 이미지 처럼 블럭 세 개일 경우의 이미지들을 포함해줍니다. 이미지에서 처럼 각 위치에 맞게끔 위치를 보정해줍니다.

 

 

 

2개 이미지

 

1개 이미지

 

나머지 블럭들도 똑같이 작업을 해주도록 합시다. 

 

 

네 개

 

세 개

 

두 개

 

한 개

 

 

 

네 개

 

세 개

 

두 개

 

한 개

 

 

 

네 개

 

세 개

 

 

두 개

 

 

한 개

 

 

 

 

네 개

 

 

세 개

 

 

두 개

 

한 개

 

 

 

네 개

 

 

 

세 개

 

 

두 개

 

 

한 개

 

 

 

 

네 개

 

 

두 개

 

다음 튜토리얼에서 이미지 처리를 해보도록 하겠습니다.

댓글