Я написал класс, расширяющий UIImageView, чтобы позволить мне динамически генерировать кирпичи на экране. Кирпич - 20x10 PNG.Показать ограничительную рамку UIImageView в UIView
Вот мои коды:
- (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: в своем классе и сделайте это там. (Не забудьте позвонить супер!) –
Спасибо за комментарии от вас, ребята. Я переместил коды isDead обратно в мои основные коды классов игры. (p.s. Я только что начал программировать iPhone 2 дня назад, действительно новичок) – Raptor