VecForce = new Vector2(); Distance = Vector2.Distance(Position, Entity.Position); xx = Entity.Position.X; yy = Entity.Position.Y; Angle = Math.Atan2(yy - Position.Y, xx - Position.X); Multitude = (Constants.Gravity * (Mass * Entity.Mass) / (Distance * Distance)); VecForce = new Vector2((float)Math.Cos(Angle), (float)Math.Sin(Angle)); VecForce.Normalize(); VelocityForce = Vector2.Add(VelocityForce, VecForce * Multitude) / Mass;
public void DoMovement(World World) { Position += VelocityForce; VelocityForce.X = VelocityForce.Y = 0; }
foreach (Entity Entity in Entities) { foreach (Entity Entity2 in Entities) { if (Entity2.Equals(Entity)) continue; Entity.Attraction(Entity2); } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)