示例#1
0
        } // end of function SetRectangleCollisionSide(Blockv0d1 b)

        private void SetRectangleCollisionSide(Blockv0d2 b, CollisionCheckMarkerv0d1 cc)
        {
            //float angleToRectCenter = AngleBetween2(b.center, cc.position);

            if (cc.position.X < b.position.X + b.size.Width && cc.position.X > b.center.X &&
                cc.position.Y > b.position.Y && cc.position.Y < b.position.Y + b.size.Height)
            {
                rectCollisionSide = CardinalDirections.East;
            }
            if (cc.position.X > b.position.X && cc.position.X < b.position.X + b.size.Width &&
                cc.position.Y < b.position.Y + b.size.Height && cc.position.Y > b.center.Y)
            {
                rectCollisionSide = CardinalDirections.South;
            }

            if (cc.position.X > b.position.X && cc.position.X < b.center.X &&
                cc.position.Y > b.position.Y &&
                cc.position.Y < b.position.Y + b.size.Height)
            {
                rectCollisionSide = CardinalDirections.West;
            }

            if (cc.position.X > b.position.X && cc.position.X < b.position.X + b.size.Width &&
                cc.position.Y > b.position.Y && cc.position.Y < b.center.Y)
            {
                rectCollisionSide = CardinalDirections.North;
            }
        } // end of function SetRectangleCollisionSide(Blockv0d2 b, CollisionCheckMarkerv0d1 cc)
        }                 // end of function CheckCollisionWithBlockList()

        protected void RegisterHitOnBlock(Blockv0d2 b, int amount)
        {
            //b.processingHit = true;
            b.hitAmount = amount;
            b.hit       = true;
            //b.ProcessHit();
            //b.RegisterHit(amount);
        }
示例#3
0
        } // end of function BounceV4()

        protected void SetRectangleCollisionSide(Blockv0d2 b)
        {
            float angleToRectCenter = AngleBetween2(b.center, position);

            if (angleToRectCenter <= pi / 4 || angleToRectCenter >= (2 * pi) - pi / 4)
            {
                rectCollisionSide = CardinalDirections.East;
            }
            if (angleToRectCenter > pi / 4 && angleToRectCenter <= pi - pi / 4)
            {
                rectCollisionSide = CardinalDirections.South;
            }
            if (angleToRectCenter > pi - pi / 4 && angleToRectCenter <= pi + pi / 4)
            {
                rectCollisionSide = CardinalDirections.West;
            }
            if (angleToRectCenter > pi + pi / 4 && angleToRectCenter < 2 * pi - pi / 4)
            {
                rectCollisionSide = CardinalDirections.North;
            }
        } // end of function SetRectangleCollisionSide(Blockv0d1 b)
示例#4
0
        }                 // end of function CheckCollisionWithBlockList2()

        protected void RegisterHitOnBlock(Blockv0d2 b, int amount)
        {
            b.hitAmount = amount;
            b.hit       = true;
        } // end of function RegisterHitOnBlock(Blockv0d2 b, int amount)