【发布时间】:2014-07-25 16:16:25
【问题描述】:
我怎样才能 lerp(线性插值)跟随玩家的顶视图游戏的相机,使其在接近目标时不会颤抖。这是我用于相机翻译的代码:
//Creating a vector 3 which represents the target location (my player)
Vector3 target = new Vector3(
(float)player.getPosition().x*map.getTileWidth()+(float)map.getTileWidth()/2,
(float)player.getPosition().y*map.getTileHeight()+(float)map.getTileHeight()/2,
0);
//Creating vector 3 which gets camera position
Vector3 cameraPosition = camera.position;
//Interpolating (lerping) vector
cameraPosition.lerp(target, 0.1f);
//Updating camera and setting it for batch
camera.position.set(cameraPosition);
camera.update();
batch.setProjectionMatrix(camera.combined);
我认为我这样做是正确的,但 alpha 值可能太小,但如果我将其变大,则相机移动太快并出现其他问题。我可以用这个 alpha 值(在我的示例中 alpha 为 0.1f)使颤抖停止吗?
【问题讨论】: