1

私はここでいくつかの助けを借りて本当にすることができました。私は過去数時間、CGPointの値と画像の中央のプロパティを比較する方法を模索してきました。2つの値はx座標とy座標の形式であると想定していました。以下は私が書いたコードです。

-(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;
}

ジグソーコンプリートメソッドで2つの値を比較すると、次のエラーが発生します。バイナリ式に対するオペランドが無効です(「CGpoint」(別名「structCGPoint」)および「CGPoint」)。

何か助けてください?

4

3 に答える 3

6

を使用しCGPointEqualToPoint()ます。

if (CGPointEqualToPoint(image1.center, newCenter) && ...)
于 2012-03-24T23:32:20.447 に答える
3

ポイントは、xとyを含む構造体です。CGPointEqualToPointを使用します。ポイントが画像の中心に等しいかどうかを比較するには:

if (CGPointEqualToPoint(image1.center, newcenter) { ...
于 2012-03-24T23:33:19.677 に答える
2

関数を使用しますCGPointEqualToPoint

if (CGPointEqualToPoint(image1.center, newCenter) &&
    CGPointEqualToPoint(image2.center, newCenter) &&
    CGPointEqualToPoint(image3.center, newCenter) &&
    CGPointEqualToPoint(image4.center, newCenter)) {
// ...
于 2012-03-24T23:32:28.507 に答える