내 게임에 문제가 있습니다. 두 상태로 나뉩니다 : GameState.MainMenu
및 GameState.Playing
. 나는 놀 때 타이머를 화면에 그려 넣고 싶다. 나는 gameTime.TotalGameTime.Minutes
과 gameTime.TotalGameTime.Seconds
변수를 사용합니다. 하지만 Play Now 버튼을 클릭했을 때, 게임이 GameState.MainMenu
에서 GameState.Playing
으로 바뀌 었습니다. 타이머의 시작 시간은 0부터 시작됩니다. MainMenu에서 소비 한 시간으로 시작합니다. 나는 MainMenu에서 보낸 시간을 계산하기 위해 다음 변수를 만들려고 시도하고 첫 번째 변수에서 빼기를 시도하지만 표시 시간이 적절하지 않습니다.XNA 프레임 워크의 타이머
내 substracting 시간 :
는minutesPlaying = gameTime.TotalGameTime.Minutes; ;
secondsPlaying = gameTime.TotalGameTime.Seconds;
switch (currentGameState)
{
case GameState.MainMenu:
minutesMenu = gameTime.TotalGameTime.Minutes;
secondsMenu = gameTime.TotalGameTime.Seconds;
if (btnPlay.isTapped == true)
{
currentGameState = GameState.Playing;
soundEffectInstance.Stop();
}
btnPlay.Update(collection);
break;
case GameState.Playing:
minutesTotal = minutesPlaying - minutesMenu;
secondsTotal = secondsPlaying - secondsMenu;
break;
}
호출 내 방법 :
는timer.Update(minutesTotal, secondsTotal);
업데이트 방법 : 답변
public void Update(int min, int sec)
{
string seconds, minutes;
seconds = sec.ToString();
minutes = min.ToString();
if (sec <= 9) seconds = "0" + seconds;
if (min <= 9) minutes = "0" + minutes;
nowString = minutes + ":" + seconds;
}
감사합니다 :)
감사합니다. Blau,하지만 작동하지 않습니다. 코드를 바꾸고 게임을 실행하면 타이머는 여전히 00:00 – lukas22ew
을 나타내며 코드를 디버그하고 예상대로 작동하는지 확인해야합니다. 타이머에 전화하고 있니? 적당한 경과 시간으로 우승 했니? – Blau