World > Camera#
Neben Scrollen und Koordinatenumrechnung bietet world.camera auch die öffentlichen Hilfsmethoden add_right(...), add_bottom(...), remove_world(...) und switch_world(...).
API Reference#
- class miniworlds.worlds.manager.camera_manager.CameraManager(view_x, view_y, world)[Quellcode]#
Der CameraManager definiert einen beweglichen Ausschnitt einer 2D-Welt und verfolgt sichtbare Actors. Er ist ueber
world.cameraerreichbar und fuer Blickfeldposition, Sichtbarkeit von Actors und Koordinatenumrechnungen zustaendig.For public API compatibility, docking and world-switching helpers are also exposed through world.camera and delegated internally to the layout manager.
Public Data Attributes:
Width of the camera viewport in pixels.
Height of the camera viewport in pixels.
Width of the world in pixels.
Height of the world in pixels.
Returns world size as (width, height).
Camera x-position (top-left corner in world coordinates).
Camera y-position (top-left corner in world coordinates).
Top-left corner of the camera in world coordinates.
Returns camera rect in world coordinates.
Returns camera rect in screen coordinates.
Returns the full world rect.
Returns the docking position of this world in the application window.
Returns center of camera in world coordinates.
Inherited from
SpriteimagerectlayerDynamic, read only property for protected _layer attribute.
Public Methods:
__init__(view_x, view_y, world)get_rect()Returns the camera rectangle in world coordinates.
Returns the camera rectangle in screen coordinates.
Returns the full world rectangle from the camera's current origin.
get_screen_position(pos)Convert world coordinates to screen coordinates.
get_local_position(pos)Convert world coordinates to camera-local coordinates.
Convert local camera position to global world position.
is_actor_in_view(actor)from_actor(actor)Move camera to center on a given actor.
add_right(world[, size])Dock a helper world to the right side of the current world.
add_bottom(world[, size])Dock a helper world below the current world.
remove_world(world)Remove a previously docked world.
switch_world(new_world[, reset])Switch to another world through the public camera API.
is_in_screen(pixel)Inherited from
Sprite__init__(*groups)add(*groups)add the sprite to groups
remove(*groups)remove the sprite from groups
add_internal(group)For adding this sprite to a group internally.
remove_internal(group)For removing this sprite from a group internally.
update(*args, **kwargs)method to control sprite behavior
kill()remove the Sprite from all Groups
groups()list of Groups that contain this Sprite
alive()does the sprite belong to any groups
__repr__()Return repr(self).
Private Methods:
_disable_resize()Disable automatic resize handling.
_enable_resize()Re-enable automatic resize handling.
_set_width(value)_set_height(value)_set_topleft(value)_limit_x(value)_limit_y(value)_reload_actors_in_view()Marks actors in view as dirty for redraw.
_should_repaint_actor(actor)_reload_camera()Internal: reloads geometry and triggers world resize.
_clear_camera_cache()Clears view tracking for actor visibility.
_update()Called each frame to refresh geometry if needed.
_cache_rects()Caches world and screen rects.
- add_bottom(world, size=100)[Quellcode]#
Dock a helper world below the current world.
- Rückgabetyp:
- add_right(world, size=100)[Quellcode]#
Dock a helper world to the right side of the current world.
- Rückgabetyp:
- from_actor(actor)[Quellcode]#
Move camera to center on a given actor.
- Rückgabetyp:
Examples
>>> world.camera.from_actor(actor)
- get_actors_in_view()[Quellcode]#
- get_global_coordinates_for_world(pos)[Quellcode]#
Convert local camera position to global world position.
- Rückgabetyp:
- Parameter:
pos – Position relative to the camera.
- Rückgabe:
Global world position.
Examples
>>> world.camera.get_global_coordinates_for_world((100, 50))
- get_local_position(pos)[Quellcode]#
Convert world coordinates to camera-local coordinates.
- Rückgabetyp:
- Parameter:
pos – Global position in the world.
- Rückgabe:
Local position relative to the camera.
Examples
>>> world.camera.get_local_position((500, 400))
- get_rect()[Quellcode]#
Returns the camera rectangle in world coordinates.
- Rückgabetyp:
Rect- Rückgabe:
A pygame.Rect representing the current viewport’s world area.
Examples
>>> world.camera.get_rect()
- get_screen_position(pos)[Quellcode]#
Convert world coordinates to screen coordinates.
- Rückgabetyp:
- Parameter:
pos – Position in world coordinates.
- Rückgabe:
Position in screen coordinates.
Examples
>>> world.camera.get_screen_position((100, 200))
- get_screen_rect()[Quellcode]#
Returns the camera rectangle in screen coordinates.
- Rückgabetyp:
Rect- Rückgabe:
A pygame.Rect representing where the camera appears on screen.
Examples
>>> world.camera.get_screen_rect()
- get_world_rect()[Quellcode]#
Returns the full world rectangle from the camera’s current origin.
- Rückgabetyp:
Rect- Rückgabe:
A pygame.Rect representing the visible and scrolled world area.
Examples
>>> world.camera.get_world_rect()
- is_actor_in_view(actor)[Quellcode]#
- Rückgabetyp:
- is_in_screen(pixel)[Quellcode]#
- Rückgabetyp:
- property rect: Rect#
Returns camera rect in world coordinates.
- remove_world(world)[Quellcode]#
Remove a previously docked world.
- Rückgabetyp:
- property screen_rect: Rect#
Returns camera rect in screen coordinates.
- switch_world(new_world, reset=False)[Quellcode]#
Switch to another world through the public camera API.
- Rückgabetyp:
- property window_docking_position: str | None#
Returns the docking position of this world in the application window.
- property world_rect: Rect#
Returns the full world rect.