Book Image

Learning LibGDX Game Development- Second Edition

Book Image

Learning LibGDX Game Development- Second Edition

Overview of this book

Table of Contents (21 chapters)
Learning LibGDX Game Development Second Edition
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Smoothing with linear interpolation (Lerp)


Lerp is a method to find unknown values between two known points. The unknown values are approximated through Lerp by connecting these two known points with a straight line.

Lerp operations can also be used to smoothen movements. We will show this using an example in which we will smoothen the camera's target-following feature as well as use it to make the rocks move up and down slightly to simulate them floating on the water. First, add the following line to the CameraHelper class:

private final float FOLLOW_SPEED = 4.0f;

After this, make the following modifications to the same class:

public void update (float deltaTime) {
if (!hasTarget()) return;

position.lerp(target.position, FOLLOW_SPEED * deltaTime);
  // Prevent camera from moving down too far
position.y = Math.max(-1f, position.y);
}

Luckily, LibGDX already provides a lerp() method in its Vector2 class that makes Lerp operations easy to execute. What happens here is that we call lerp() on the...