docsReading time: 2 minutes


Utility Classes

LITIENGINE provides utility classes for common operations. These static helpers simplify repetitive tasks.

MathUtilities

Mathematical operations:

import de.gurkenlabs.litiengine.util.MathUtilities;

// Clamping values
int clamped = MathUtilities.clamp(value, 0, 100);

// Rounding
double rounded = MathUtilities.round(value, 2);  // 2 decimal places

// Interpolation
double lerped = MathUtilities.lerp(start, end, 0.5);

// Check even/odd
boolean even = MathUtilities.isEven(number);

Note: Use Game.random() for random numbers instead of MathUtilities.random methods.

GeometricUtilities

Geometry operations:

import de.gurkenlabs.litiengine.util.geom.GeometricUtilities;

// Distance between points
double dist = GeometricUtilities.distance(x1, y1, x2, y2);

// Angle between points
double angle = GeometricUtilities.calcAngle(p1, p2);

// Point rotation
Point2D rotated = GeometricUtilities.rotate(p, center, angle);

// Point in shape
boolean inside = GeometricUtilities.shapeContains(shape, point);

ImagingUtilities

Image processing:

import de.gurkenlabs.litiengine.util.ImagingUtilities;

// Scale image
BufferedImage scaled = ImagingUtilities.scale(image, 2.0f);

// Flip horizontally
BufferedImage flipped = ImagingUtilities.flipHorizontally(image);

// Set opacity
BufferedImage transparent = ImagingUtilities.setOpacity(image, 0.5f);

ColorUtilities

Color operations:

import de.gurkenlabs.litiengine.util.ColorUtilities;

// Parse hex color
Color color = ColorUtilities.decode("#FF5500");

// Color to hex
String hex = ColorUtilities.encode(color);

// Interpolate colors
Color blended = ColorUtilities.lerp(color1, color2, 0.5);

TimeUtilities

Time formatting:

import de.gurkenlabs.litiengine.util.TimeUtilities;

// Format milliseconds to readable time
String formatted = TimeUtilities.toReadableTime(125000);  // "2:05"

See Also


steffen-wilkeLast updated 2 weeks ago

On this page