Ваше состояние не так. Коридор в соответствии с ним представляет собой квадрат с центром в (0, 0) вместо shuttle.center
. Попробуйте
CGFloat dx = touch.x - centre.x;
CGFloat dy = touch.y - centre.y;
CGFloat r2 = dx*dx + dy*dy;
if (r2 < outerRadius*outerRadius) {
NSLog(@"in outer");
if (r2 > innerRadius*innerRadius)
NSLog(@"in corridor")
}
вместо.
Даже если коридор действительно должен быть квадратным, вы должны проверить с fabs(dx), fabs(dy)
, а не touch.x, touch.y
.