Esempio n. 1
0
 public FallDude()
 {
     SetSpriteFromFile("fallGuy");
     fallRect = new Rect(new Vector2(20, 35), new Vector2(random.Next(1, Game1.Instance.GraphicsDevice.Viewport.Width), -50));
     position = fallRect.position;
     myCDR = CollisionWorld.Instance.AddDelegate(CollisionWorld.CollisionGroupIdentifier.Faller, new CollisionDelegate(null, fallRect));
     fallSpeed = random.Next(50, 100);
 }
Esempio n. 2
0
        public override bool Collides(Rect rect, CollideType detectMethod = CollideType.All)
        {
            Vector2 circleDistance = new Vector2((float)Math.Abs(this.position.X - rect.position.X), (float)Math.Abs(this.position.Y - rect.position.Y));

            if (circleDistance.X > (rect.size.X / 2 + this.radius)) return false;
            if (circleDistance.Y > (rect.size.Y / 2 + this.radius)) return false;

            if (circleDistance.X <= (rect.size.X / 2)) return true;
            if (circleDistance.Y <= (rect.size.Y / 2)) return true;

            float cornerDistance_sq = (float)(Math.Pow((double)(circleDistance.X - rect.size.X / 2), 2) + Math.Pow((double)(circleDistance.Y - rect.size.Y / 2), 2));
            return (cornerDistance_sq <= (float)Math.Pow(this.radius, 2));
        }
Esempio n. 3
0
 public override bool Collides(Rect rect, CollideType detectMethod = CollideType.All)
 {
     if (rect.top >= this.y && rect.left <= this.x && rect.right >= this.x && rect.bottom <= this.y)
         return true;
     else
         return false;
 }
Esempio n. 4
0
 public abstract bool Collides(Rect rect, CollideType detectMethod = CollideType.All);
Esempio n. 5
0
 public override bool Collides(Rect rect, CollideType detectMethod = CollideType.All)
 {
     return rect.left <= this.right && rect.right >= this.left && rect.top <= this.bottom && rect.bottom >= this.top;
 }