테트리스 만들기#1

zebius·2022년 12월 23일
0

UnityPractice

목록 보기
1/1
post-thumbnail

유니티엔진을 다루는 법을 연습하기 위해 테트리스를 만들기로 결정했다.

간단하고 금방 만들수 있을거란 처음 생각과는 다르게 만들면서 점차 절망을 하게되는데..

처음에는 bool형의 2차배열을 만들어 false(0)은 빈공간 true(1)는 블록으로 설정하였다.

임시로 square 스프라이트 오브젝트를 생성하여 block으로 설정 후

block의 위치값과 크기등을 조정해 줄 수 있는 스크립트를 만들어 block객체에 추가해 주었다.

-간단하지만 위 코드를 설명하면

public void Spawn(Vector2 position,Vector2 size,int x,int y){
	......
}

위 함수는 다른 스크립트(다음부터 블록매니저라 적겠다.)에서 해당 블럭의 위치 값과
크기 및 위 bool형의 2차배열에서의 행,열을 인자로 받아준다.

public void Kill(){
	.......
}

위 함수는 블록매니저에서 해당 블럭을 제거할때 불러온다. 유니티에서 제공하는 Destroy함수를 이용하여 제거 할 수 있지만, 재활용을 위해 오브젝트를 비활성화 시키고 위치값을 변경해준다.

public void SetPosition(Vector2 pos){
	.......
}

위 함수는 블록매니저에서 해당 블럭의 위치를 조정해줄때 (블록이 아래로 떨어지는것과 회전 및 좌우 이동에 사용) 사용하는 함수.현재 위치의 값과 변경되는 값이 같으면 위치조정이 필요 없음으로 바로 반환시켜준다.

profile
스타터입니다.

0개의 댓글