follow method
void
follow(
- ReadOnlyPositionProvider target, {
- double maxSpeed = double.infinity,
- bool horizontalOnly = false,
- bool verticalOnly = false,
- bool snap = false,
override
Makes the viewfinder follow the given target.
The target here can be any read-only PositionProvider. For example, a
PositionComponent is the most common choice of target. Alternatively,
you can use PositionProviderImpl to construct the target dynamically.
This method adds a FollowBehavior to the viewfinder. If there is another
FollowBehavior currently applied to the viewfinder, it will be removed
first.
Parameters maxSpeed, horizontalOnly and verticalOnly have the same
meaning as in the FollowBehavior.new constructor.
If snap is true, then the viewfinder's starting position will be set to
the target's current location. If snap is false, then the viewfinder
will move from its current position to the target's position at the given
speed.
Implementation
@override
void follow(
ReadOnlyPositionProvider target, {
double maxSpeed = double.infinity,
bool horizontalOnly = false,
bool verticalOnly = false,
bool snap = false,
}) {
stop();
viewfinder.add(
MyFollowBehavior(
target: target,
targetSize: _getTargetSize(target),
maxSpeed: config.speed,
movementWindow: config.movementWindow,
horizontalOnly: horizontalOnly,
verticalOnly: verticalOnly,
),
);
if (snap) {
viewfinder.position = target.position;
}
}