forループが実行されるたびに、プレーヤーを処理する関数animateを呼び出す必要があります。
-(void)animateDealingToPlayer:(Player *)player withDelay:(NSTimeInterval)delay
{
self.frame = CGRectMake(-100.0f, -100.0f, CardWidth, CardHeight);
self.transform = CGAffineTransformMakeRotation(M_PI);
NSArray *position = [NSArray arrayWithObjects:
[NSValue valueWithCGPoint:CGPointMake(100, 100)],
[NSValue valueWithCGPoint:CGPointMake(0, 0)],
[NSValue valueWithCGPoint:CGPointMake(0, 0)],
[NSValue valueWithCGPoint:CGPointMake(200, 100)],
[NSValue valueWithCGPoint:CGPointMake(200, 100)],
nil];
for(int i=0; i<6; i++) {
NSValue *value = [position objectAtIndex:i];
CGPoint point = [value CGPointValue];
NSLog(@"%@",NSStringFromCGPoint(point));
_angle = [self angleForPlayer:player];
[UIView animateWithDuration:0.2f
delay:delay
options:UIViewAnimationOptionCurveEaseOut
animations:^
{
self.center = point;
self.transform = CGAffineTransformMakeRotation(_angle);
}
completion:nil];
現在、すべてのインデックス番号を個別に呼び出すのではなく、5番目のオブジェクトインデックスを提供するまで、self.centerを何度も書き換えています。たとえば、すべてのポイントでカードを処理する代わりに、(200,100)でのみ処理します。すべてのポイントで対処できるように、毎回animaitedealingwithplayerを呼び出す方法が必要ですが、どうすればよいですか?私が得ることができるどんな助けにも感謝します。