안녕하세요 뚜르입니다.
오늘은 금방 만든 따끈따끈한
싱글톤 패턴을 이용한 (ㅋㅋㅋ멋좀 부려봤음)
사실 오늘 만든 UI (ugui를 사용했음)는
실제로 게임 제작이나 상용화 할 때 쓸 것은 아닙니다.
(왜냐하면 너무 성의없는 티가 너무너무남 ㅋㅋㅋㅋ)
하지만 연습용으로 사용하기엔 이만한 것도 없쥬
오늘 만들 것은 위 화면처럼 몇명의 적이 남아 있는 가 입니다.
물론 변형을 통하여 점수로 만들 수도 있습니다.
스크립트 설명을 하면서 그것은 이야기 하도록 하겠습니다.
우선 ugui 의 Text와 (좀 멋부린다면 Image의 애니매이션을 통해서도
가능하지만 괜히 메모리 잡아먹을 바에 폰트를 하나 다운 받겠음)
빈 게임오브젝트를 하나 만들어서 Manager로 이름 바꿔주세용
Render Mode - World Space
이건 VR 컨텐츠 제작할 때만 World이고
보통 3D게임이나 2D는 Screen Space가 가독성이 좋음.
World로 바꾼 후 하늘로 전 옮겼습니다.
미니맵하고 스코프하고 하다보니
더 이상 카메라 앞에 둘 곳이 없어요 ㅋㅋㅋㅋㅋ
물론 Curved UI 사면 (원고료..빨리 원고료...3일 남았다...)
바로 구매해서 간지나게 총 옆에 둘 예정!
자 이제 빈 게임오브젝트에 둘 스크립트를 볼까요.
Scoremanager 전문입니다.
string.Format을 사용하여서
씬에서 직접 설정 안해줘도 나올 수 있게 해주었습니다.
씬에서는 폰트나 글자크기만 바꿔줍시다.
싱글톤 패턴을 좋아하지는 않지만
점수 매니저를 만들때만 사용하는 편입니다.
점수는 프로퍼티로 만들어줍니다
아 물론 전 점수가 아니라 남아 있는 적의 숫자.
Enemy 스크립트의 Update 함수 안의 스위치케이스 부분입니다.
enum 을 이용한 FSM 상태 구현의 한 장면인데
적이 죽었을 때 상태가 바뀌고는
남은 적 수가 하나 줄어드는 것을 썼습니다.
코루틴 안에 쓰시면 1프레임당 몇의 숫자가 줄어드는 지 확인할 수 있습니다.
(ㅋ...120이더군요 ㅋ....)
뭐 선언 부분입니다.
public int score 로 int 변수 하나 선언해준 후
Start 부분에 선언해 준 + 부분은
저는 이제 미리 생성되어 있는 적들의 숫자대로
총 숫자를 매겼기 때문에 저렇습니다.
뭐 물론 풀링을 이용하시게 된다면 조금 변형을 해야합니다.
암튼 다 하셨으면 빈 게임오브젝트에 스크립트를 넣으시고
Text란에 만들어준 Text를 드래그앤드랍으로 넣어주시면 됩니당.
위 스크립트는 진짜 점수 스크립트입니다.
최고점과 현재점을 나타낼 수 있고
점수 저장까지 할 수 있는 간단한 함수로
되어 있으니 참고하시고 열공하셔요~
그럼 오늘은 여기까지!
질문은 댓글로
공감과 댓글은 사랑입니다♡
'프로그래밍 > Unity' 카테고리의 다른 글
[유니티] Unity - NewInputSystem 새로운 인풋시스템 적용하기. (0) | 2024.12.10 |
---|---|
Unity - Rest API 만들고 적용하기 (0) | 2024.12.09 |
유니티 3D - 인공지능 AI (스크립트) (1) | 2017.12.09 |
유니티 Unity - Curved UI 휘어진 UI 에셋 구매후기. (0) | 2017.12.06 |
유니티 - 미니맵 만들기 (RenderTexture) (0) | 2017.11.21 |