CameraComponent class
CameraComponent is a component through which a World is observed.
A camera consists of two parts: a Viewport, and a Viewfinder. It also references a World component, which is not mounted to the camera, but the camera still knows about it. The world must be mounted somewhere else in the game tree.
A camera is a regular component that can be placed anywhere in the game tree. Most games will have at least one "main" camera for displaying the main game world. However, additional cameras may also be used for some special effects. These extra cameras may be placed either in parallel with the main camera, or within the world. It is even possible to create a camera that looks at itself.
Since CameraComponent is a Component, it is possible to attach other components to it. In particular, adding components directly to the camera is equivalent to adding them to the camera's parent. Components added to the viewport will be affected by the viewport's position, but not by its clip mask. Such components will be rendered on top of the viewport. Components added to the viewfinder will be rendered as if they were part of the world. That is, they will be affected both by the viewport and the viewfinder.
Constructors
- CameraComponent({required World world, Viewport? viewport, Viewfinder? viewfinder})
Properties
- children → ComponentSet
-
The children of the current component.
no setterinherited
- debugColor ↔ Color
-
The color that the debug output should be rendered with.
getter/setter pairinherited
- debugCoordinatesPrecision → int?
-
How many decimal digits to print when displaying coordinates in the
debug mode. Setting this to null will suppress all coordinates from
the output.
no setterinherited
- debugMode ↔ bool
-
Returns whether this Component is in debug mode or not.
When a child is added to the Component it gets the same debugMode as
its parent has when it is prepared.
getter/setter pairinherited
- debugPaint → Paint
-
The debugColor represented as a Paint object.
no setterinherited
- debugTextPaint → TextPaint
-
Returns a TextPaint object with the debugColor set as color for the
text.
no setterinherited
- hasChildren → bool
-
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasPendingLifecycleEvents → bool
-
no setterinherited
- isLoaded → bool
-
Whether this component has completed its onLoad step.
no setterinherited
- isMounted → bool
-
Whether this component is currently added to a component tree.
no setterinherited
- lifecycle → _LifecycleManager
-
no setterinherited
-
loaded
→ Future<
void> -
A future that will complete once this component has finished loading.
no setterinherited
-
mounted
→ Future<
void> -
A future that will complete once the component is mounted on its parent
no setterinherited
- parent → Component?
-
The current parent of the component, or null if there is none.
no setterinherited
- positionType ↔ PositionType
-
What coordinate system this component should respect (i.e. should it
observe camera, viewport, or use the raw canvas).
getter/setter pairinherited
- priority ↔ int
-
Render priority of this component. This allows you to control the order in
which your components are rendered.
getter/setter pairinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- shouldRemove ↔ bool
-
Whether this component should be removed or not.
getter/setter pairinherited
- viewfinder → Viewfinder
-
The viewfinder controls which part of the world is seen through the
viewport.
final
- viewport → Viewport
-
The viewport is the "window" through which the game world is observed.
final
- world ↔ World
-
Special component that is designed to be the root of a game world.
getter/setter pair
Methods
-
add(
Component component) → Future< void> ? -
Schedules
component
to be added as a child to this component.inherited -
addAll(
Iterable< Component> components) → Future<void> -
A convenience method to add multiple children at once.
inherited
-
addToParent(
Component parent) → Future< void> ? -
Adds this component to the provided
parent
(see add for details).inherited -
ancestors(
{bool includeSelf = false}) → Iterable< Component> -
An iterator producing this component's parent, then its parent's parent,
then the great-grand-parent, and so on, until it reaches a component
without a parent.
inherited
-
changeParent(
Component newParent) → void -
Changes the current parent for another parent and prepares the tree under
the new root.
inherited
-
changePriorityWithoutResorting(
int priority) → void -
Usually this is not something that the user would want to call since the
component list isn't re-ordered when it is called.
See FlameGame.changePriority instead.
inherited
-
contains(
Component c) → bool -
Whether the children list contains the given component.
inherited
-
containsPoint(
Vector2 point) → bool -
Called to check whether the point is to be counted as within the component
It needs to be overridden to have any effect, like it is in
PositionComponent.
inherited
-
createComponentSet(
) → ComponentSet -
This method creates the children container for the current component.
Override this method if you need to have a custom ComponentSet within
a particular class.
inherited
-
descendants(
{bool includeSelf = false, bool reversed = false}) → Iterable< Component> -
Recursively enumerates all nested children.
inherited
-
eventPosition(
PositionInfo info) → Vector2 -
inherited
-
findGame(
) → Game? -
inherited
-
findParent<
T extends Component> () → T? -
Returns the closest parent further up the hierarchy that satisfies type=T,
or null if no such parent can be found.
inherited
-
firstChild<
T extends Component> () → T? -
Returns the first child that matches the given type
T
.inherited -
handleResize(
Vector2 size) → void -
inherited
-
lastChild<
T extends Component> () → T? -
Returns the last child that matches the given type
T
.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onGameResize(
Vector2 size) → void -
Called whenever the size of the top-level Canvas changes.
inherited
-
onLoad(
) → Future< void> -
Late initialization method for Component.
override
-
onMount(
) → void -
Called when the component is added to its parent.
inherited
-
onRemove(
) → void -
Called right before the component is removed from the game.
inherited
-
processPendingLifecycleEvents(
) → void -
Attempt to resolve any pending lifecycle events on this component.
inherited
-
propagateToChildren<
T extends Component> (bool handler(T), {bool includeSelf = false}) → bool -
This method first calls the passed handler on the leaves in the tree,
the children without any children of their own.
Then it continues through all other children. The propagation continues
until the handler returns false, which means "do not continue", or when
the handler has been called with all children.
inherited
-
remove(
Component component) → void -
Removes a component from the component tree, calling onRemove for it and
its children.
inherited
-
removeAll(
Iterable< Component> components) → void -
Removes all the children in the list and calls onRemove for all of them
and their children.
inherited
-
removeFromParent(
) → void -
Remove the component from its parent in the next tick.
inherited
-
render(
Canvas canvas) → void -
inherited
-
renderDebugMode(
Canvas canvas) → void -
inherited
-
renderTree(
Canvas canvas) → void -
Renders the world as seen through this camera.
override
-
reorderChildren(
) → void -
Call this if any of this component's children priorities have changed
at runtime.
inherited
-
setMounted(
) → void -
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
update(
double dt) → void -
This method is called periodically by the game engine to request that your
component updates itself.
inherited
-
updateTree(
double dt) → void -
This method traverses the component tree and calls update on all its
children according to their priority order, relative to the
priority of the direct siblings, not the children or the ancestors.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- currentCamera → CameraComponent?
-
A camera that currently performs rendering.
no setter
-
currentCameras
→ List<
CameraComponent> -
Stack of all current cameras in the render tree.
final
- maxCamerasDepth ↔ int
-
Maximum number of nested cameras that will be rendered.
getter/setter pair