// 게임개발 종합반 - 1주차
// 빗물받는 르탄이 제작
재시작 panel 버튼 만들기
- Canvas 새로 만들어서 이미지와 텍스트 배치
- 비활성화 해두기 (crtl+shift+a)
타이머 만들기
1. 시간이 흐르게 하기
float limit = 60f;
public Text limitText;
void Update()
{
limit -= Time.deltaTime;
// 소수점 2자리까지만 보여주기
limitText.text = limit.ToString("N2");
}
2. 시간 멈추게 하기
- timeScale 사용. 시간이 흐르는 속도를 0으로 만들어줌
if(limit <0)
{
Time.timeScale = 0.0f;
limit = 0.0f;
}
판넬에 재시작 기능 넣기
- 버튼 컴포넌트를 panel에 할당
- retry 함수는 기능이 강력하므로 게임매니저에 구현 후, panelManager스크립트를 따로 만들어 불러와서 쓸수 있도록 구현
- gameManager 내 retry() 함수
public void retry()
{
SceneManager.LoadScene("MainScene");
}
- panelManager 에서 retry함수를 싱글턴으로 호출
public class panelManager : MonoBehaviour
{
public void retry()
{
gameManager.GM.retry();
}
}
- Button 컴포넌트의 On Click 이벤트에 함수를 할당해주면 끝
- 메인씬 로드 시 타이머가 초기화가 안되는 문제 해결
- 초기화 함수 작성 후 Start() 에서 실행
// 초기화 함수
void initGame()
{
Time.timeScale = 1.0f;
totalScore = 0;
limit = 30f;
}
감점 빗방울 만들기(숙제)
- 맞으면 -5점 되는 빨간 빗방울 만들기
- 타입 변수 range 1,5로 수정
- 타입 추가에 따라 if절 추가
if(type == 3)
{
size = 0.8f;
score = -5;
GetComponent<SpriteRenderer>().color = new Color(255 / 255f, 100 / 255f, 100 / 255f, 255 / 255f);
}