2016-09-19 50 views
1

我使用Libgdx制作了一款游戏,其中角色正在被摄像头跟踪,但问题在于当我的角色移动摄像头时发生抖动。如何创建流畅的相机?

velocity.add(0, gravity); 
velocity.scl(deltaTime); 
position.add(velocity.x, velocity.y); 
velocity.scl(1/deltaTime); 

因为重力是9.8,当玩家触摸屏幕我设置了velocity.x = 100velocity.y = -120使其向下或快进,那就是当相机开始动摇我的性格向上移动。

camera.translate(100 * deltaTime, 0); 

我玩过照相机震动的数值,但它的速度太快或太慢,总会有震动。我想要的是当角色开始移动时具有延迟效果的平滑相机。

回答

1

您没有设置相机跟随播放器。播放器和相机移动方向相同,但相机不依赖于播放器。 也尝试设置摄像头的位置,而不是翻译。

camera.position.x = player.position.x - gamewidth/2; 
camera.position.y = player.position.y - gameheight/2; 
camera.update(); 

对于延迟效果,您应该将相机移向玩家位置。