我制作了一个程序,可以在屏幕顶部的随机 x 坐标处生成图像。然后图像下降到底部。但是,我想每隔几秒钟就不断地生成新的图像(同一图像的),这样就好像同一图像的这些副本不断地从顶部“下雨”。(注意:最终,随着我继续开发这个应用程序,我需要随时回忆每个图像的位置,所以我相信我需要每个生成的图像成为数组的一部分。我也相信我必须移动每个图像一步一步,所以我不能依赖动画)。
问题是:如何让所有这些代码每 0.5 秒重复一次,以便每个新生成的图像都有自己的 moveObject 计时器。就像雨滴从高处落下一样。
@implementation ViewController {
UIImageView *_myImage;
}
- (void)viewDidLoad
{
srand(time(NULL));e
int random_x_coordinate = rand() % 286;
CGRect myImageRect = CGRectMake(random_x_coordinate, 0.0f, 40.0f, 40.0f);
UIImageView *myImage = [[UIImageView alloc] initWithFrame:myImageRect];
[myImage setImage:[UIImage imageNamed:@"flake.png"]];
myImage.opaque = YES;
[self.view addSubview:myImage];
_myImage = myImage;
//FALLING BIRDS TIMER
moveObjectTimer = [NSTimer scheduledTimerWithTimeInterval:0.001 target:self selector:@selector(moveObject) userInfo:nil repeats:YES];
}
//FALLING BIRDS MOVER
-(void) moveObject { // + means down and the number next to it is how many pixels y moves down per each tick of the TIMER above
_myImage.center = CGPointMake(_myImage.center.x, _myImage.center.y +1);
}