Sep 30
Für mein aktuelles Freizeitprojekt, ja ich bin ein Hobby-Spiele-Entwickler bzw. versuche einer zu sein, wollte ich eine Kamera haben die dem Ziel folgt. Allerdings soll der Kameraschwenk nicht statisch sein (1:1) sondern je nach Geschwindigkeit des Ziels etwas an Dynamik gewinnen. Da man das Rad nicht 100k mal neu erfinden möchte, sucht man halt nach einigen Code-Schnippseln. Meine Suche hatte erfolgt
void update(float delta) {
Entity target = getTarget();
Entity camera = getCamera();
final float threshold = ...;
final float feelFactor = ...;
Vector2f difference = target.getPosition().sub(camera.getPosition());
float distance = difference.length();
if (distance > threshold) {
Vector2f direction = difference.norm();
float speed = (distance - threshold) * feelFactor;
Vector2f newPosition = camera.getPosition().add(direction * speed);
camera.setPosition(newPosition)
}
}
Das Fragment ist eigentlich selbsterklärend. Falls jemand Hilfe dabei braucht, ihr habt die Kommentar-Funktion ![]()
Recent Comments