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 byscene.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_worldget_mouse_pos()— mouse in that layer's world spaceset_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.