3가지 색상의 테디를 무작위로 생성한다
오른쪽 마우스 버튼을 누르면 노란색이 모두 파괴
왼쪽 마우스 버튼을 누르면 초록색이 모두 파괴
중앙 마우스 버튼을 누르면 보라색이 모두 파괴
Main Camera에 부착된 컴포넌트
- 단일 게임 오브젝트 씬에 여러 개의 스크립트를 부착할 수 있다
teddyColor 스크립트
- 색깔을 구별하기 위한 스크립트
BlowingupTeddies 스크립트
- type object에 있는 find 메서드는 느림
- 그래서 테디 폭발 시 사용하는 입력이 있을 때만 메서드를 호출한다(if 조건문 참고)
- 기존 리스트에 있는 테디 오브젝트를 모두 삭제(오로지 현재 게임에 있는 오브젝트만 리스트에 추가함)
- 현재 게임에 존재하는 오브젝트를 리스트에 추가한다
- AddRange 메서드는 리스트에 여러 요소를 한꺼번에 추가할 때 사용. 다른 컬렉션(배열, 리스트 등)에서 요소들을 가져와 현재 리스트의 끝에 모두 추가한다
- 입력에 따라서 파괴해야할 오브젝트의 색을 구분한다
- 같은 프레임, 동시에 여러 입력을 처리할 수 있도록 다 if문으로 설정한다
- 게임 오브젝트를 리스트에서 제거하는 과정이기 때문에 역방향 루프를 사용한다
- 스프라이트 컴포넌트를 렌더링하고,
컴포넌트가 존재하면 스프라이트의 색깔이 오브젝트의 설정색과 같은지 if문으로 확인한다
(메인 카메라를 날리는 것도 아니고, 메인 카메라에는 스프라이트 렌더러가 없기 때문)
- 폭발 오브젝트를 인스턴스화하고 테디베어 오브젝트를 파괴한다
'코딩 공부 > Unity C#' 카테고리의 다른 글
테디가 물건을 모으는 프로젝트 다시 보기 (0) | 2024.07.08 |
---|---|
태그를 사용하여 코드 단순화하기 (0) | 2024.07.07 |
TriggerOn 메서드의 종류 (0) | 2024.07.07 |
리스트를 사용하여 테디가 물건을 모을 수 있도록 하기 (0) | 2024.07.07 |
foreach 루프 (0) | 2024.07.05 |