2012-04-27 2 views
0

점 A (0,0)와 점 b (0, 100)을 가지고 있고 전이 시간이 X ms입니다. 주어진 X ms 시간에 내 객체 형식 점 A를 B로 이동해야합니다. 도와주세요. 어떤 의사 코드가 도움이 될 것입니다. 참조Java는 일정 기간 동안 두 점 사이의 전이를 계산합니다.

내 코드 :

float time= (float)totalTime/halfTransitionTime; 
    new.x = start.x + (end.x - start.x) * time; 
    new.y = start.y + (end.y - start.y) * time; 

하지만 내 시간 계산은 내가 원하는 출력을 얻을하지 않는 맞다면 내가 아닙니다. 도와주세요.

translateCalc()는 선형 보간 계산을 수행하는 방법입니다. 계산이 정확하지 않은 것 같습니다.

답변

1

당신의 선형 보간 계산이 정확 도움이되지만까지의 시간 계산 변경하십시오 :이 0과 1 사이의 값을 줄 것이다

float time= ((float)currentTime)/totalTime; 

을 초래해야하는, (가정 currentTime는 0 totalTime 사이) 위의 코드에서 startend

+0

사이의 원활한 전환은 currentTime = System.currentTimeMillis()이며 총 시간 = A 지점에서 B 지점으로 이동하는 시간입니까? 이 계산에 따르면, 그것은 작동하지 않는 것 같습니다. 도와주세요. – nishMaria

+0

시간 측정 방법에 따라 다릅니다. startTime = System.currentTimeMillis()에서 시작한다고 가정 해 봅시다. 그리고 나서'currentTime = System.currentTimeMillis() - startTime','totalTime = X' (X는 원하는 시간 길이를 밀리 초 단위로 나타냄)'System.currentTimeMillis()'가'startTime'과' startTime + X','currentTime'은 0과 X (== totalTime) 사이이며, 내 대답은 – Attila

+0

의 조건을 만족하지만 아직 시간 계산이 정확하지 않은 것 같습니다. 내 질문을 편집하여 위의 원본 코드를 게시했습니다. 원본 코드를보고 잘못된 부분을 지적하십시오. – nishMaria

관련 문제