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