Если все, что вам нужно, это проверка столкновений на основе расстояния / радиуса, вам не нужен физический движок.
Хотя вам следует избавиться от sqrt .Прежде всего, вы используете функцию квадратного корня, которая работает с двойными числами.Для версии с плавающей запятой используйте sqrtf .
Чтобы полностью избавиться от квадратного корня, убедитесь, что ваши объекты хранят свой радиус в квадрате (radiusSquared = radius * radius).Таким образом, вам больше не нужно брать квадратный корень:
-(BOOL) isCollidingSphere:(CCSpriteExt*) obj1 WithSphere:(CCSprite *) obj2
{
float r1 = obj1.radius;
float r2 = obj2.radius;
float minDistanceSquared = r1 * r1 + r2 * r2 + 2 * r1 * r2;
float dx = obj2.position.x - obj1.position.x;
float dy = obj2.position.y - obj1.position.y;
float actualDistanceSquared = dx * dx + dy * dy;
return (actualDistanceSquared <= minDistanceSquared);
}