iphone-неглобальное обнаружение uiimageview

Справочная информация: я использую XCode 3.1.4, имейте это в виду. Пожалуйста, не комментируйте об этом, однако.

Я должен жечь, стрелять и начинать. При нажатии fire создается UIImageView с именем, используя функцию IBAction. При нажатии start создается UIImageview с именем two. Затем, когда * one создается в функции IBACtion, я вызываю другую функцию, используя NSTimer, который передает * one в качестве параметра userinfo. Затем у меня есть функция перемещения, которая перемещается * на 20 пикселей вниз по оси Y. Это прекрасно работает, и я могу создать сотни UIImageViews, которые перемещаются одновременно. Я делаю то же самое с запуском, но с другим UIImage и * два в качестве параметра userinfo. Это также работает отлично. Тем не менее, я хочу сделать детектор столкновений для UIImageViews, созданный путем нажатия этих кнопок. Поскольку указатели, назначенные этим кнопкам, не являются глобальными, я не знаю, как это сделать. Я публикую свой код ниже:

-(IBAction)startWaves:(id)sender {
        start.hidden=YES;
    fire.hidden=NO;
    [NSTimer scheduledTimerWithTimeInterval:1 target:self   selector:@selector(createMeteors) userInfo:nil repeats:YES];


}


-(void)createMeteors{

    UIImageView *one = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"Meteor.png"]];
    CGRect rectOne = CGRectMake(arc4random() % (310), arc4random() % (1), 35, 35);
    [one setFrame:rectOne];
    [self.view addSubview:one];
    [NSTimer scheduledTimerWithTimeInterval:0.4 target:self selector:@selector(moveMeteorOne:) userInfo:one repeats:YES];





}

- (void)moveMeteorOne:(NSTimer *)timerOne {
    UIImageView *one = timerOne.userInfo;
    one.center=CGPointMake(one.center.x, one.center.y + 15); 
    if (CGRectIntersectsRect(one.frame, image.frame)) {
        background.image = [UIImage imageNamed:@"gameOver.png"]; 
        fire.hidden = YES; 
        image.hidden=YES; 

    }
}


-(void)createBullets{
    UIImageView *two = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"lazerBeam.png"]];
    CGRect rectTwo = CGRectMake((image.center.x), (image.center.y - 45), 7, 20);
    [two setFrame:rectTwo];
    [self.view addSubview:two];
    [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(moveBulletOne:) userInfo:two repeats:YES];

}

-(void)moveBulletOne:(NSTimer *)timerTwo {
    UIImageView *two = timerTwo.userInfo;
        two.center=CGPointMake(two.center.x, two.center.y - 15); 

}

-(IBAction)fireBullets:(id)sender {

    [self createBullets]; 

}  

Ответы на вопрос(0)

Ваш ответ на вопрос