2015-03-04 7 views
0

я с UIImageView движущуюся Ball1 вправо с помощью этого кода, запускается каждые .01 секундытестирование, чтобы увидеть, если центр UIImageView равно стороне другого

ball1.center = CGPointMake(ball1.center.x + 0.5, ball1.center.y) 

Когда он попадает в сторону другой UIImageView (Named Box1) Я хочу, чтобы он проверял, является ли он правильным цветом окна (Box меняет цвет на клики), а затем сможет делать с ним больше вещей. Я пытался использовать CGPointEqualToPoint, но я не уверен, как его использовать, и этот код тоже не работает.

if ball1.center.x = box1.center.x - 32 { 

} 

ответ

0

Вы можете использовать CGPointEqualToPoint, но так как точки CGFloats, if they're not perfectly equal, он возвращает ложь. Я бы рекомендовал округлить точки, а затем сравнить.

CGPoint ball1Center = CGPointMake(roundf(ball1.center.x), roundf(ball1.center.y)); 
CGPoint box1Center = CGPointMake(roundf(box1.center.x), roundf(box1.center.y)); 

if (CGPointEqualToPoint(ball1Center, box1Center)) 
{ 
    // ... 
} 
+0

Я получаю сообщение об ошибке, чтобы положить точку с запятой между CGPoint и ball1Center и box1Center. Он не считает, что они связаны. – DB3