MoveProxy() публичный Метод

Call MoveProxy as many times as you like, then when you are done call UpdatePairs to finalized the proxy pairs (for your time step).
public MoveProxy ( int proxyId, AABB aabb, Vec2 displacement ) : void
proxyId int
aabb AABB
displacement Box2D.Common.Vec2
Результат void
Пример #1
0
        /// <summary>
        /// Internal method
        /// </summary>
        /// <param name="broadPhase"></param>
        /// <param name="transform1"></param>
        /// <param name="transform2"></param>
        protected internal void Synchronize(BroadPhase broadPhase, Transform transform1, Transform transform2)
        {
            if (ProxyCount == 0)
            {
                return;
            }

            for (int i = 0; i < ProxyCount; ++i)
            {
                FixtureProxy proxy = Proxies[i];

                // Compute an AABB that covers the swept shape (may miss some rotation effect).
                AABB aabb1 = pool1;
                AABB aab = pool2;
                Shape.ComputeAABB(aabb1, transform1, proxy.ChildIndex);
                Shape.ComputeAABB(aab, transform2, proxy.ChildIndex);

                proxy.AABB.LowerBound.X = aabb1.LowerBound.X < aab.LowerBound.X ? aabb1.LowerBound.X : aab.LowerBound.X;
                proxy.AABB.LowerBound.Y = aabb1.LowerBound.Y < aab.LowerBound.Y ? aabb1.LowerBound.Y : aab.LowerBound.Y;
                proxy.AABB.UpperBound.X = aabb1.UpperBound.X > aab.UpperBound.X ? aabb1.UpperBound.X : aab.UpperBound.X;
                proxy.AABB.UpperBound.Y = aabb1.UpperBound.Y > aab.UpperBound.Y ? aabb1.UpperBound.Y : aab.UpperBound.Y;
                displacement.X = transform2.P.X - transform1.P.X;
                displacement.Y = transform2.P.Y - transform1.P.Y;

                broadPhase.MoveProxy(proxy.ProxyId, proxy.AABB, displacement);
            }
        }