2012-01-29 2 views
0

내가이 100 %를 의미
백분율 1.0F와 사각형을 생각 업데이트 계산에 버그를 찾기 때문에 특정 시점에서 내가 마우스로 다른 함수에서 0.0f로이 비율을 설정

을 클릭하고 이제 다시 100 %로 사각형을 채우거나 문제가
내가 사각형 내가
간단한 .. 내가

private void updateInterface(GameTime gameTime) 
    { 
     this.newGameTime += gameTime.ElapsedGameTime.Milliseconds; 

     if ((rectangle.getPercentage() == 0) && 
      (rectangle.getAddValue() == 0)) 
     { 
      float time = 1000 * time_to_fill_in_seconds; 

      // update rectangle add values 
      rectangle.incrementToIn(1.0f, time); 
     } 

     rectangle.Update(gameTime); 
    } 
다음 한 (time_to_fill_in_seconds) 업데이트에 대한
적절한 시간에하지만 결코 다시 성장 참조입니다 1.0F입니다하기

및 사각형

// Value to be added on each Update 
    public void incrementToIn(float targetPercentage, float time) 
    { 
     setAddValue((targetPercentage - currentPercentage)/time); 
    } 


    public override void Update(GameTime gameTime) 
    { 
     if ((percentage <= 1.0f) && (addValue > 0)) 
     { 
      if (percentage == 1.0f) 
       addValue = 0; 
      percentage += addValue; 
     } 
    } 

내부에 난 이미 내가 무슨 일을하고있는 중이 야
바는
을 채우는 데 시간이 너무 오래 걸립니다 ... 문제를 찾고 이일처럼 분실?

이 당신을 감사합니다 아주 간단한 것을 ... 당신이 뭔가를 잘못 보면 내가 감사 당신의 도움이 아마

+1

1. 아마 진짜 원인을 접촉하지만, 모든 부동 소수점 비교 당신이 평등을 테스트하고 잘못없이 비율로 시험 비율 == 1 를 교체하는 것이 좋습니다. 부동 소수점 산술에서는 구체적인 값 ('1.0f')과 비교할 수 없습니다. 여기에 비고 섹션을보십시오 : http://msdn.microsoft.com/en-us/library/ya2zha7s.aspx –

답변

1

Pheraps 내가 잘못하지만 그 비율이 실제로 업데이트에서 0 결코하지 않을 것 addValue를 0으로 설정하지만 백분율은 설정하지 않습니다.
은 또한 당신이> =

+0

비율이 0으로 설정되어있는 사각형을 볼 수있는 마우스 클릭시 다른 기능에서 0으로 증가합니다. 유일한 문제는 타이밍 또는 addValue 여야합니다. 아마도 gameTime과 관련된 무언가가 계산에 사용되지 않았을 것입니다. 미안 내 영어. –

관련 문제