J'ai écrit une classe qui étend UIImageView afin de me permettre de générer dynamiquement des briques à l'écran. La brique est un PNG 20x10.Afficher la boîte de délimitation de UIImageView dans UIView
Voici mes codes:
- (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;
}
Ensuite, j'ai une simple fonction de détection de collision dans la même classe:
- (BOOL)checkHit:(CGRect)frame {
if(CGRectIntersectsRect(self.frame, frame)) {
isDead = YES;
return YES;
} else {
return NO;
}
}
Mais la détection de collision est pas bien joué. La zone de délimitation semble un peu plus basse que mon image. Comment montrer le cadre de délimitation afin de me permettre de vérifier la collision?
Si le code n'est pas clair, je peux fournir plus d'informations.
D'accord avec ceci. Si vous voulez vraiment dessiner le cadre de votre vue, remplacez drawRect: dans votre classe, et faites-le là. (Ne pas oublier d'appeler super!) –
Merci pour les commentaires de vous les gars. J'ai replacé les codes isDead dans mes principaux codes de cours. (p.s. Je viens de commencer la programmation iPhone il y a 2 jours, un débutant) – Raptor