public Butterfly(Vector3 Position, float rotation, Viewport ViewPort, Matrix View, Matrix Projection, ButterflyColors color)
{
world = Matrix.CreateFromAxisAngle(Vector3.Right, -1 * (float)(Math.PI / 2f)) * Matrix.CreateTranslation(Position);
Vector3 ScreenProjection = ViewPort.Project(Position, Projection, View, Matrix.CreateScale(0.1f) * Matrix.CreateFromAxisAngle(Vector3.Right, -1 * (float)(Math.PI / 2f)) * Matrix.CreateTranslation(Position));
hitbox = new Hitbox(new Rectangle((int)(ScreenProjection.X - padX), (int)(ScreenProjection.Y - padY), 2 * padX, 2 * padY));
viewPort = ViewPort;
projection = Projection;
view = View;
hitbox.Entered += new Hitbox.EnteredEventHandler(hitbox_Entered);
hitbox.Exited += new Hitbox.ExitedEventHandler(hitbox_Exited);
timeSelected = new Stopwatch();
myColor = color;
hidden = false;
position = Position;
startPosition = Position * 20;
msOffset = rand.Next(0, 500);
wanderDirection = new Vector2();
tether = Vector2.Transform(new Vector2(Position.X, Position.Y), Matrix.CreateScale(0.1f));
}