1

画面上でブリックを動的に生成できるようにするために、UIImageView を拡張するクラスを作成しました。ブリックは 20x10 の PNG です。

これが私のコードです:

- (id) initBrick:(NSInteger *)str x:(float)ptX y:(float)ptY {
int brickIndex = arc4random() % 10 + 1;
NSString *filename = [NSString stringWithFormat:@"brick%d.png", brickIndex];

UIImage *brickImage = [UIImage imageNamed:filename];
CGRect imageRect = CGRectMake(0.0f, 0.0f, 20.0f, 10.0f);
[self initWithFrame:imageRect];
[self setImage:brickImage];
self.center = CGPointMake(ptX, ptY);
self.opaque = YES;
self.isDead = NO;
return self;
} 

次に、同じクラスに単純な衝突検出関数があります。

- (BOOL)checkHit:(CGRect)frame {
if(CGRectIntersectsRect(self.frame, frame)) {
    isDead = YES;
    return YES;
} else {
    return NO;
}

}

しかし、衝突検出はうまく実行されません。境界ボックスは私のイメージよりも少し低いようです。衝突を確認できるように境界ボックスを表示するにはどうすればよいですか?

コードが不明な場合は、さらに情報を提供できます。

4

1 に答える 1