Unity 카운트다운 기능 구현

2103 단어 Unity카운트다운
본 논문 의 사례 는 유 니 티 가 카운트다운 기능 을 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
카운트다운 을 실현 할 수 있 는 두 가지 사고방식 이 있 는데 하 나 는 Update 이 고 다른 하 나 는 협정 이다.여기 서 핵심 적 인 알고리즘 아이디어 만 보 여 드 리 고 수확 이 있 으 면 좋아요 도 눌 러 주세요.
Update
먼저 세 개의 변 수 를 정의 하고 접근 권한 은 필요 에 따라 설정 합 니 다.

float GameTime; //      ,int  float  ,    
float TimeLeft; //       ,    
float Timer; //    
Text TimeCountDown; //    Text  
사고방식:먼저 GameTime 으로 TimeLeft 를 초기 화하 고 Update 에서 타이머 가 계속 증가 합 니 다.1 초가 지나 면 TimeLeft 는-1 을 하고 타 이 머 를 리 셋 합 니 다.코드 는 다음 과 같 습 니 다:

void Update()
{
 Timer += Time.deltaTime;
 if (Timer >= 1) //         
 {
 GameTime -= 1; //     -1
 
 if (TimeLeft <= 0) //      0,    
 {
  Time.timeScale = 0;
 }
 
 int _minute = TimeLeft / 60; //        
 float _second = TimeLeft % 60; //             
 
 //            
 TimeCountDown.text = _minute + ":" + string.Format("{0:00}", _second);
 
 m_TrGame = 0f; //      
 }
}
협정
상대 적 으로 협 정 은 좀 간단 해 야 한다.마찬가지 로 몇 개의 변 수 를 먼저 정의 합 니 다.

float GameTime; //      ,int  float  ,    
float TimeLeft; //       ,    
Text TimeCountDown; //    Text  
사고방식:우선 GameTime 으로 TimeLeft 를 초기 화한 다음 에 협정 에 순환 을 설정 하고 매번 순환 할 때마다 TimeLeft 는-1 이다.코드 는 다음 과 같 습 니 다:

IEnumerator TimeCountDown()
{
 TimeLeft = GameTime; //        
 
 while (true)
 {
 int _minute = TimeLeft / 60; //        
 float _second = TimeLeft % 60; //             
 
 //            
 TimeCountDown.text = _minute + ":" + string.Format("{0:00}", _second);
 
 if (TimeLeft <= 0) //      0,    
 {
  Time.timeScale = 0;
 yield break; //        ,           
 }

 yield return new WaitForSeconds(1f); //          1s
 }
}
꼭 혼자 써 주세요.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기