私は毎秒、FrenchFrie と呼ばれるフレンチフライの UIImageView を作成します。また、アニメーションで画面に沿って動かします。
-(void)FrenchFrieRain{
FrenchFrie = [[UIImageView alloc] initWithFrame:CGRectMake(randomX,0,30,30)];
FrenchFrie.image = [UIImage imageNamed:@"FrenchFriesMCDonalds"];
FrenchFrie.userInteractionEnabled = YES;
[self.view addSubview:FrenchFrie];
[FrenchFrieArray addObject: FrenchFrie];
[self letFrenchFrieFall];
}
-(void)letFrenchFrieFall {
[UIView animateWithDuration:10.0f delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
FrenchFrie.frame = CGRectMake(randomX, (int)[[UIScreen mainScreen] bounds].size.height + 40, FrenchFrie.frame.size.width, FrenchFrie.frame.size.height);
} completion:^(BOOL finished){
[[FrenchFrieArray objectAtIndex:0] removeFromSuperview];
}];
}
アニメーション中のフライの位置が必要です。私は次のコードでこれを行います:
FrenchFrieFrame = [[FrenchFrie.layer presentationLayer] frame];
NSLogging から、このコードで最新のフライの位置を取得できることはわかっていますが、最も古いフライの位置が必要です。最年長のフレンチ フライの位置を取得するにはどうすればよいですか? どんな助けでも本当に感謝します!