새소식

C#,Unity Programming

게임개발 학습. panel 버튼, 타이머 설치, 감점 빗방울 만들기

  • -
728x90

 

// 게임개발 종합반 - 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);
        }
Contents
  • -

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.