저는 LibGDX 게임을 만들고있어 카메라를 확대/축소해야합니다. 그러나 내가 camera.zoom = 1.2f;
을 할 때, 그 값으로 '점프'합니다. 대신, 나는 부드러운 줌을 원합니다.LibGDX를 부드럽게 확대하는 방법은 무엇입니까?
내 질문 : 원활하게 확대/축소하는 가장 좋은 방법은 무엇입니까?
아래의 그래프처럼 확대하고 싶습니다. y=0
은 시작 cam.zoom
이고 y=100
은 원하는 cam.zoom
이고 x 축은 시간을 표시합니다.
cam.zoom = f(time);
을 사용해야합니까? (f(x)
에 약간의 수정으로)
time
줌의 시작부터 전달 된 총 시간입니다.
또는 더 나은 사용하는 것입니다
cam.zoom += (desiredZoom - cam.zoom) * delta * scalar;
delta
두 개의 프레임과scalar
사이의 시간입니다 속도를 설정하기 위해 조정됩니다 부동이다.
다른 방법이 있습니까? 어떻게 생각해?
고맙습니다.
https://github.com/libgdx/libgdx/wiki/Interpolation – QBrute
두 번째 접근 방식을 사용하면 camera.zoom이 원하는 Zoom에 도달하지 않으며 무한히 가까워집니다. @QBrute가 제안한 것처럼 첫 번째 접근법과 보간법을 사용하십시오. – Arctic45