Hi!

Sparrow offers no checks for circular bounds, no. However, in most cases, such a test is the same as just calculating the distance between 2 objects.

An example: If you have 2 images and want to test if they collide (but only with a circular test), I recommend putting them into separate sprites, so that they are centered in their own coordinate system -- that makes rotating them easier, too. Then calculate the distance, like this:

```
SPSprite *sprite1 = [SPSprite sprite];
SPImage *image1 = [SPImage imageWithContentsOfFile:@"image1.png"];
image1.x = -image1.width / 2.0f;
image1.y = -image2.width / 2.0f;
[sprite1 addChild:image1];
SPSprite *sprite2 = [SPSprite sprite];
// ... repeat the steps from above to create sprite2
// This is how you would test for a collision:
SPPoint *pos1 = [SPPoint pointWithX:sprite1.x y:sprite1.y];
SPPoint *pos2 = [SPPoint pointWithX:sprite2.x y:sprite2.y];
float distance = [SPPoint distanceFromPoint:pos1 toPoint:pos2];
float radius1 = sprite1.width / 2.0f;
float radius2 = sprite2.width / 2.0f;
if (distance < radius1 + radius2)
NSLog(@"collision!!");
```

Here I calculate the radius by using half of the width of an object. As you already pointed out, that puts the circle within the bounds of the image. To have the circle outside of the bounds, you'd just have to use half of the diagonal of the square, instead:

```
#define SQUARE_ROOT_OF_2 1.41421356f
float radius1 = SQUARE_ROOT_OF_2 * sprite1.width;
float radius2 = SQUARE_ROOT_OF_2 * sprite2.width;
```

I hope that helps!

Daniel