Awesome
Transform
Base Monogame objects for managing relative transforms.
Quickstart
// Hierarchy
this.arm.Transform.Position = new Vector2(this.GraphicsDevice.Viewport.Width / 2, this.GraphicsDevice.Viewport.Height / 2);
this.arm2.Transform.Position = new Vector2(this.arm.Length, 0);
this.arm2.Transform.Parent = this.arm.Transform;
this.arm3.Transform.Position = new Vector2(this.arm2.Length, 0);
this.arm3.Transform.Parent = this.arm2.Transform;
// Animation
this.tween = new Tween2D(TimeSpan.FromSeconds(5), this.arm.Transform, new Transform2D()
{
Rotation = 5,
Position = this.arm.Transform.Position,
Scale = new Vector2(2,2),
}, Ease.ElasticInOut);
this.velocity2 = new Velocity2D(arm2.Transform)
{
Rotation = 2f,
Position = Vector2.UnitX * -2f,
};
this.velocity3 = new Velocity2D(arm3.Transform)
{
Rotation = -3.5f,
};
Usage
Transform2D
Represents a 2 dimensions transformation. A transform could be attached to another transform by setting its Parent
property. The relative Position
, Scale
, Rotation
could be used to update each component of the transform (relative to the parent transform if set, else absolute position). The effective absolute output world components can be accessed through AbsolutePosition
, AbsoluteScale
, AbsoluteRotation
.
Velocity2D
Represents a transform linear velocity following Position
, Scale
, Rotation
independant components.
Acceleration2D
Represents a velocity linear acceleration following Position
, Scale
, Rotation
independant components.
ITween
Represents an animation.
Tween2D
Tweens a value between two given transform, in a given amount of time, and with a given curve function.
Sequence
Chains several ITween
to create complex animations.
Parallel
Runs a given set of ITween
in parallel until all are finished.
Delay
Waits the given amount of time.
Contributions
Contributions are welcome! If you find a bug please report it and if you want a feature please report it.
If you want to contribute code please file an issue and create a branch off of the current dev branch and file a pull request.
License
MIT © Aloïs Deniel