flame_steering_behaviors

Last updated:

0 purchases

flame_steering_behaviors Image
flame_steering_behaviors Images
Add to Cart

Description:

flame steering behaviors

Steering Behaviors #


Developed with 💙 by Very Good Ventures 🦄







An implementation of steering behaviors for Flame Behaviors.
See Steering Behaviors For Autonomous Characters by
Craig Reynolds for an in-depth explanation

Installation 💻 #
flutter pub add flame_steering_behaviors
copied to clipboard
Usage ✨ #
This package is built on top of the flame_behaviors, if you are not yet familiar with it, we recommend reading up on the documentation of that package first.
Steerable #
If you want to apply steering behaviors to your entities you have to add the Steerable mixin to your entity class:
class MyEntity extends Entity with Steerable {
/// Provide the max velocity this entity can hold.
double get maxVelocity => 100;

...
}
copied to clipboard
The Steerable mixin provides a velocity value to your entity, this velocity will then be applied on each update cycle to your entity until the velocity becomes zero.
Steering Behaviors #
Each algorithm defined by this project is available as a Behavior and you can add them to your steerable entities as you would with any behavior:
class MyEntity extends Entity with Steerable {
MyEntity() : super(
behaviors: [
WanderBehavior(
circleDistance: 200,
maximumAngle: 45 * degrees2Radians,
startingAngle: 0,
)
]
);

...
}
copied to clipboard
Some steering behaviors require information that is not always available on entity creation, when that happens we recommend using the entity's onLoad method:
class MyEntity extends Entity with Steerable {
...

@override
Future<void> onLoad() async {
world.children.register<MyOtherEntity>();
await add(
SeparationBehavior(
world.children.query<MyOtherEntity>(),
maxDistance: 25,
maxAcceleration: 1000,
),
);
}

...
}
copied to clipboard

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.