2012-03-24 6 views
1

私は実際にここでいくつかの助けをすることができます。 CGPointの値と画像の中央のプロパティを比較する方法を試してみるために、ここ数時間を費やしました。私は2つの値がx座標とy座標の形であると仮定していました。以下は私が書いたコードです。 jigsawCompleted方法で2つの値を比較するときCGPointとイメージセンターのプロパティの比較

-(void) jigsawCompleted:(CGPoint) newcenter { 

if(image1.center == newcenter && 
    image2.center == newcenter && 
    image3.center == newcenter && 
    image4.center == newcenter) { 
    NSLog(@"success"); 

} 
} 
....... 
....... 
//if current touch is inside the rectangle 
if (CGRectContainsPoint(snapToRect, location)) { 
    touch.view.alpha = 1.0; 
    //make a point with the coords below 
    CGPoint newcenter = CGPointMake(78, 382); 
    //assign the center coords of the current touch to this newly created point 
    touch.view.center = newcenter; 
    [self jigsawCompleted:newcenter]; 
    return; 
} else { 
    touch.view.alpha = 0.3; 
} 

私はエラーを取得:バイナリ表現に無効なオペランド(「するCGPoint」(別名「構造体するCGPoint」)と「するCGPoint」)。

お願いします。

答えて

6

CGPointEqualToPoint()を使用してください。

if (CGPointEqualToPoint(image1.center, newCenter) && ...) 
2

機能CGPointEqualToPoint使用:ポイントは、xとyを含む構造体である

if (CGPointEqualToPoint(image1.center, newCenter) && 
    CGPointEqualToPoint(image2.center, newCenter) && 
    CGPointEqualToPoint(image3.center, newCenter) && 
    CGPointEqualToPoint(image4.center, newCenter)) { 
// ... 
3

を。 CGPointEqualToPointを使用します。

if (CGPointEqualToPoint(image1.center, newcenter) { ... 
:ポイントは、画像中心に等しい場合には比較するには
関連する問題