Skip to main content
Version: Release

Camera

In the release version, each SceneLayer has its own camera.

The default scene exposes:

  • World camera: scene.get_layer("world").camera
  • HUD camera: scene.get_layer("hud").camera (also used by scene.root)
class MyScene(bf.Scene):
def do_when_added(self):
self.set_clear_color((30, 30, 40))
world_cam = self.get_layer("world").camera
world_cam.set_center(0, 0)

Useful camera methods:

  • set_clear_color(color) / get_clear_color()
  • set_center(x, y) / set_position(x, y) / move_by(dx, dy)
  • zoom(factor) / zoom_by(delta)
  • world_to_screen / screen_to_world
  • get_mouse_pos() — mouse in that layer's world space
  • set_follow_point_func, set_follow_damping, set_dead_zone_radius

Because HUD has a separate camera, UI stays fixed on screen while the world camera pans and zooms.