我想限制动画IOS中的图像丢弃数量

  • 本文关键字:图像 动画 IOS ios objective-c
  • 更新时间 :
  • 英文 :


我是目标c的新手,我创建了一个应用程序,其中蜜蜂会掉落,熊会试图抓住它们,一切都很好。现在我想将蜜蜂的数量限制在 20 只左右,谁能帮我怎么做?

我不确定是将计时器放在循环中还是将落蜂方法放入循环中,其中的任何输入都将非常有帮助。

beeArray = [[NSMutableArray alloc]init];
timer1 = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(dropBee) userInfo:nil repeats:YES];
-(void)dropBee
{
CGRect screenRect = [[UIScreen mainScreen]bounds];
CGFloat screenWidth = screenRect.size.width;
// CGFloat screenHeight = screenRect.size.height;
UIImageView *beeImage = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"bee-honey.png"]];
int resultX = (int)roundf(screenWidth);
int randomX = 0 + rand()%(resultX -0);
[beeArray addObject:beeImage];
beeImage.frame = CGRectMake(50, -10, 50, 50);
beeImage.center = CGPointMake(randomX, 50);
[self.view addSubview:beeImage];
[UIView beginAnimations:@"beemovement" context:NULL];
[UIView setAnimationDuration:2];
beeImage.center = CGPointMake(randomX, 600);
[UIView commitAnimations];
}

如何将蜜蜂添加到您的应用程序中?查看一些代码会很有用。如果你有一个类似于-(void)addABee的方法,那么你可以创建一个变量来计算蜜蜂的数量。

在头文件中:

@interface SomeController : UIViewController {
    int _maxNumberOfBees;
}

然后在您的实现中:

-(void)theMethodYouUseToCreateYourBeeArray {
    beeArray = [[NSMutableArray alloc]init];
    timer1 = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(dropBee) userInfo:nil repeats:YES];
    _maxNumberOfBees = 20;
    // etc...
}
-(void)dropBee {
    if ([beeArray count] >= _maxNumberOfBees) { 
        // if the number of bees is greater than or equal to _maxNumberOfBees...
        NSLog(@"Too many bees!");
    } else {
        // add your bee to the scene
        CGRect screenRect = [[UIScreen mainScreen]bounds];
        CGFloat screenWidth = screenRect.size.width;
        // etc etc etc...
    }
}

希望有帮助。

最新更新