Make camera follows player

This commit is contained in:
2022-08-17 12:27:00 +02:00
parent 0527e71dbd
commit b285bd0734

View File

@@ -5,20 +5,34 @@ import com.bartlomiejpluta.base.api.map.model.GameMap;
import com.bartlomiejpluta.base.api.map.layer.object.ObjectLayer;
import com.bartlomiejpluta.base.api.context.Context;
import com.bartlomiejpluta.base.api.move.Direction;
import com.bartlomiejpluta.base.api.screen.Screen;
import com.bartlomiejpluta.base.api.camera.Camera;
import com.bartlomiejpluta.base.api.input.*;
import com.bartlomiejpluta.base.lib.camera.*;
import com.bartlomiejpluta.demo.runner.DemoRunner;
import com.bartlomiejpluta.demo.entity.Player;
public abstract class BaseMapHandler implements MapHandler {
protected Screen screen;
protected Context context;
protected DemoRunner runner;
protected Camera camera;
protected Player player;
protected ObjectLayer mainLayer;
protected CameraController cameraController;
@Override
public void onCreate(Context context, GameMap map) {
this.context = context;
this.player = ((DemoRunner) context.getGameRunner()).getPlayer();
this.screen = context.getScreen();
this.runner = (DemoRunner) context.getGameRunner();
this.camera = context.getCamera();
this.player = runner.getPlayer();
this.cameraController = FollowingCameraController
.on(screen, camera, map)
.follow(player.getPosition());
}
@Override
@@ -33,4 +47,9 @@ public abstract class BaseMapHandler implements MapHandler {
mainLayer.pushMovement(player.prepareMovement(Direction.RIGHT));
}
}
@Override
public void update(Context context, GameMap map, float dt) {
cameraController.update();
}
}