2011-07-03 2 views
1

나는 480x320 인 작은 단순한 세계를 만들었습니다. 방금 ​​부드러운 스크롤링을 구현했지만 눈치 채지 못한 한 가지 문제점은 약간 번 더듬 거리는 점입니다. 왜 내가 말더듬 소리가 들리지만 내 문제를 정확히 해결할 수 있는지 깨닫지 못했습니다. 스크롤 계산에 델타 시간을 사용하지 않으므로 혼란 스럽습니다. 델타 값은 어떻게 사용 되나요? 델타 시간으로 .2something과 같은 값을 얻습니다. 또한 FPS 한계를 30FPS (정확히는 33)로 설정했으며 모든 테스트에서 프레임 속도가 30 이하로 내려 가지 않았습니다. 스크롤링에 대한 나의 해결책은 TILE_SIZE (32)에 의해 xPos 값을 증가시키고 camera.x 값을 xPos와 비교하고 camera.x를 특정 양 (4)만큼 증가 또는 감소시키는 것입니다. 이제이 예제에서 델타를 사용하는 방법을 모르겠습니다. 나는 시도했다 : 속도 * deltaTime = 확실히 옳지 않다; 속도 * (1 + deltaTime) = 올바르지 않습니다. SPEED +/- deltaTime = 더 많은 말더듬;Android 오픈 글럭스가 떠들썩하게 움직입니다.

나는 델타 시간을 사용하지 않는 것이 올바른가? 말더듬이를 일으키는가? 그렇다면 누군가 나를 도울 수 있는가? 아니면이 문제가 전혀 다른가요?

+0

귀하의 계산이 모두 float 또는 double right라고 가정하십니까? – mibollma

+0

이 맞습니다. 실제로 실제로는 그냥 뜬다 – semajhan

+0

그래서 DELTA 시간은 33FPS를 가정 할 때 약 0.03f가되어야한다. 게임이 초당 UNIT (10)을 스크롤한다고 가정하면 POSITION = POSITION + UNIT * DELTA를 사용하여 현재 위치를 계산할 것입니다. 도움이됩니까? 나는 xPos와 camera.x가 당신의 경우에 무엇인지 완전히 이해하지 못한다. – mibollma

답변

0

보다 일관된 결과를 보장하는 고정 시간 단계 접근법을 사용해야합니다.

지금은별로 읽지 않았다면 "Fix your Timestep!" 기사, 나는 그렇게하도록 권할 것이다.

건배!

관련 문제