It makes sense to do a quick bounding circle or bounding box check(*) before intersecting Areas if you’re checking for collisions between lots of entities. But either way, if it works and it doesn’t show up as significant in the profiler, why worry about it?
(*) E.g.,
public boolean collidesWith(Car otherCar) {
if ( distanceSquared(this.position, otherCar.position) > maxCarDiameter*maxCarDiameter ) {
return false;
} else {
// do a proper check with Areas
}
}
Simon