Camera2D
ClassSource: Camera2D.h
Description
2D camera for viewport management and smooth scrolling.
Manages the viewable area of a scene, providing bounds clamping and smooth follow-target behavior. The camera sits at a fixed position until instructed to follow a target; its X/Y coordinates are negated to become the Renderer's X/Y offset (so content scrolls "under" the camera).
Bounds are enforced per-axis; if no bounds are set the camera is unclamped on that axis. A target X or Y position outside bounds is clamped before the camera moves.
Camera2D does not own a Renderer. Call apply(renderer) to push the camera transform after updating.
TIP
Camera2D does not own a Renderer. Call apply(renderer) to push the camera transform after updating.
Methods
void setBounds(pixelroot32::math::Scalar minX, pixelroot32::math::Scalar maxX)
void setVerticalBounds(pixelroot32::math::Scalar minY, pixelroot32::math::Scalar maxY)
void setPosition(pixelroot32::math::Vector2 position)
void followTarget(pixelroot32::math::Scalar targetX)
void followTarget(pixelroot32::math::Vector2 target)
pixelroot32::math::Scalar getX() const
pixelroot32::math::Scalar getY() const
pixelroot32::math::Vector2 getPosition() const
void apply(Renderer& renderer) const
Description:
Pushes the camera transform into the renderer (sets display offset).
void apply(Renderer& renderer, const pixelroot32::math::Vector2& effectOffset) const
Description:
Pushes camera transform + effect offset into the renderer.
Parameters:
renderer: The renderer to push the transform into.effectOffset: Additional offset from CameraEffectsSystem (added to camera position before negation).
