Open JortonMV opened 7 years ago
Lo he podido reproducir.
Pendiente de investigar.
He encotrado una solución...
Si sustituyescamera.translate(PLAYER_SPEED * delta * PIXELS_IN_METER, 0, 0);
por camera.position.x = player.getX();
el jugador tiembla mucho.
Pero si mantienes:
camera.translate(PLAYER_SPEED * delta * PIXELS_IN_METER, 0, 0);
y añades:
camera.position.x = player.getX();
casi se soluciona el problema, ya que el jugador aún tiembla un poquito. Así que, en vez de esa línea, es mejor interpolar (0.5 es el valor que mejor me ha funcionado):
float lerp = 0.5f;
camera.position.x = camera.position.x +(player.getX() - camera.position.x) * lerp;
Resultado:
Sí, ayer le eché un vistazo rápido y está claro que es la cámara. El problema está en las multiplicaciones con decimales que hace la cámara en el método translate
. Debe haber discrepancias a la hora de calcular los valores de delta que provocan que la cámara acelere, por ejemplo que no haya precisión suficiente o que los valores de delta no sean del todo precisos.
La forma más correcta de solucionar esto es parecido a lo que propones. Simplemente con interpolar los valores y no fiarse del timestep. Hay una forma más profesional de realizar actualizaciones que dependen del tiempo descritas en este artículo. Incluso yo mismo hablé de ello en una lista de reproducción sobre otra librería distinta.
Es algo que voy a seguir de cerca pero a lo que tampoco voy a dar mucha prioridad en este momento porque a título personal no me conviene.
PS: Hace poco alguien puso en un hilo en el grupo de Facebook un problema parecido con la cámara y la velocidad de Minijoe. ¿Eres la misma persona o se trata de otro reporte independiente?
No, el de Facebook no soy yo xD Miré los comentarios de los vídeos de YouTube y me extrañaba que nadie se hubiera dado cuenta....
Bueno, yo de momento creo que me conformo con esta solución para no complicarme la vida demasiado xD
Estoy siguiendo tus vídeos en Youtube para hacer este juego y me he dado cuenta de que la cámara avanza más rápido que el personaje. He instalado la app desde el Play Store para comprobarlo y hacer unas capturas.
![photo_2016-08-03_19-05-42](https://cloud.githubusercontent.com/assets/10855781/17374524/51ac5374-59ad-11e6-931f-427dfa7044f6.jpg)