1
我寫了一個擴展UIImageView的類來允許我在屏幕上動態生成磚。這塊磚是20x10 PNG。在UIView中顯示UIImageView的邊界框
這裏是我的代碼:
- (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;
}
}
但不進行碰撞檢測好。 邊界框看起來比我的圖像低一點。 如何顯示邊界框以便讓我檢查碰撞?
如果代碼不清楚,我可以提供更多信息。
同意這一點。如果你真的想繪製視圖的框架,只需在你的類中重寫drawRect:並在那裏完成。 (別忘了叫超級!) – 2009-10-14 05:39:09
感謝你們的評論。我已將isDead代碼移回到我的主要遊戲類代碼中。 (p.s.我剛剛開始iPhone編程2天前,一個真正的新手) – Raptor 2009-10-14 06:23:45