public bool Collide(Rectangle rectangle) { RotatedRectangle rotateRectangle = new RotatedRectangle( null, new Vector2(rectangle.X, rectangle.Y), new Vector2(0, 0), rectangle.Width, rectangle.Height); rotateRectangle.Update(); return(Collide(rotateRectangle)); }
protected override void Initialize() { base.Initialize(); int widthRec1 = 50; int heightRec1 = 80; int widthRec2 = 40; int heightRec2 = 200; rotatedRectangle1 = new RotatedRectangle( GraphicsDevice, new Vector2(100, 100), new Vector2(widthRec1 / 2, heightRec1 / 2), widthRec1, heightRec1); rotatedRectangle2 = new RotatedRectangle( GraphicsDevice, new Vector2(300, 100), new Vector2(widthRec2 / 2, heightRec2 / 2), widthRec2, heightRec2); //Normal rectangle to test with a rotated rectangle texture2DRectangleNormal = new Texture2D(GraphicsDevice, 1, 1); Color[] data = new Color[1 * 1]; data[0] = new Color(120, 100, 50); texture2DRectangleNormal.SetData(data); rectangleNormal = new Rectangle( (int)rectangleNormalPosition.X, (int)rectangleNormalPosition.Y, 100, 100); //Circles circle1 = new Circle( 80, 300, 50, GraphicsDevice); circle2 = new Circle( 80, 300, 50, GraphicsDevice); }
public bool Collide(RotatedRectangle rotatedRectangle) { return(Collide(rotatedRectangle.rectangleNormalize, rotatedRectangle.RectangleVertices)); }