public void SyncB2body() { if (!IsActive) { return; } base.Position = PhysicalConvert.ToAsdVector(b2Body.GetPosition()); base.Angle = b2Body.GetAngle() * 180.0f / 3.14f; }
public void SyncB2body() { if (!IsActive) { return; } asd.Vector2DF move = PhysicalConvert.ToAsdVector(b2Body.GetPosition()) - (DrawingArea.Size / 2.0f + DrawingArea.Position); base.DrawingArea = new asd.RectF(DrawingArea.Position + move, DrawingArea.Size); base.Angle = b2Body.GetAngle() * 180.0f / 3.14f; }
public void SyncB2body() { if (!IsActive) { return; } centerPosition = PhysicalConvert.ToAsdVector(b2Body.GetPosition()); angle = b2Body.GetAngle() * 180.0f / 3.14f; for (int i = 0; i < 3; i++) { asd.Vector2DF temp = vertexes[i]; temp.Degree += Angle; base.SetPointByIndex(CenterPosition + temp, i); } }
public void SyncB2body() { if (!IsActive) { return; } centerPosition = PhysicalConvert.ToAsdVector(b2Body.GetPosition()); angle = b2Body.GetAngle() * 180.0f / 3.14f; base.ClearVertexes(); foreach (var item in vertexes) { asd.Vector2DF temp = item; temp.Degree += Angle; base.AddVertex(CenterPosition + temp); } }
void IContactListener.BeginContact(Contact contact) { if (!contact.AreTouching) { return; } CollisionData temp = new CollisionData(); WorldManifold worldManifold; contact.GetWorldManifold(out worldManifold); temp.BodyA = contact.FixtureA.Body; temp.BodyB = contact.FixtureB.Body; temp.Points = new List <asd.Vector2DF>(); for (int i = 0; i < contact.Manifold.PointCount; i++) { temp.Points.Add(PhysicalConvert.ToAsdVector(worldManifold.Points[i])); } collisionShapes.Add(temp); }
void IContactListener.PostSolve(Contact contact, ContactImpulse impulse) { CollisionData temp = new CollisionData(); foreach (var item in collisionShapes) { if (item.BodyA == contact.FixtureA.Body && item.BodyB == contact.FixtureB.Body) { temp = item; break; } } temp.Points.Clear(); WorldManifold worldManifold; contact.GetWorldManifold(out worldManifold); for (int i = 0; i < contact.Manifold.PointCount; i++) { temp.Points.Add(PhysicalConvert.ToAsdVector(worldManifold.Points[i])); } }