[C#, 유니티] Unity로 PackMan 만들기

2022. 7. 8. 21:34코딩 2막 <C#개념편>/코딩 2막 <C#응용편>

728x90

오늘은 유니티로

귀여운(?) 팩맨을 만들어 볼거다

 

좋아~ ^_^    드가자


먼저 PackMan 스크립트는 다음과 같이 짜봤음

 

기본적으로 팩맨게임은 여러분도 알다시피 별사탕같은걸 먹으면서 점수를 쌓으며

모든 별사탕을 다 먹으면 게임이 끝나고

유령(보스)으로부터 도망다녀야 하는 게임입니다 

 

score

그렇기 때문에 score라는 점수를 public을 통해

인스펙터의 PackMan컴퍼넌트에 활성화 되게 해주었음

 

Rigidbody

Rigidbody 는 GameObject 가 물리 제어로 동작하게 합니다.

리지드바디는 힘과 토크를 받아 오브젝트가 사실적으로 움직이도록 해줍니다.

.AddForce

그리고 스페이스바를 누르면 해당방향으로 이동하게끔 해주었는데

여기서 AddForce라는 함수를 적용시켰음

이게 뭐냐면 내가 원하는 해당 방향으로 힘을 가해주는 놈임

 

.velocity

velocity

는 말 그대로 속도라는 의미new Vector3(원하는 방향); 을 써서 물체를 이동시킬때 사용

 

ForceMode.Impulse

ForceMode.Impulse 는 물체를 한번에 힘을 빡 가해주는 놈

.tag

태그(Tag) 는 한 개 이상의 게임 오브젝트 에 할당할 수 있는 레퍼런스 단어입니다.

예를 들어, 플레이어가 조작하는 캐릭터에 “Player”를,

플레이어가 조작하지 않는 캐릭터에 “Enemy” 태그를 붙일 수 있습니다. 

태그는 스크립팅 목적으로 게임 오브젝트를 식별할 때 도움을 줍니다. 

 

but, 태그를 쓰는것은 좋은 방법은 아님!!

왜냐하면 객체지향의 제 5원칙 중 3번째 원칙인 개방폐쇄원칙에 의해 위배됨

개방폐쇄원칙이 궁금하면 키워드를 누르세요

팩멘에 별사탕을 먹으면 점수가 오르고

유령이 팩멘에게 먹히면 죽는다는 방식임

 

 

출력 결과

 


<실습>

위에서 만든것을 토대로 확장해서

다음과 같은 요구사항을 충족한 불안정한 팩맨을 만들어보자

요구사항

주말에 적당한 휴식도 좋지만

팩맨 만드는거 한번 해보시는건 어떨까요?

 

하다가 좋은 의견 있으면 댓글 ㄱ ㄱ


 

공감해주셔서 감사합니다

728x90