カードのアニメーションをアニメーションしようとしています。現在私はディーラーカード(dCard1)とプレーヤーカード(pCard1)という2枚のカードを持っています。別のUIImageViewが終了した後、UIImageViewをアニメーション化します。
プレーヤーカードは処理されるべきであり、ディールされるとすぐにディーラーカードが処理されるべきである。
取引ボタンを押すとプレーヤーカードが正しくアニメーション表示されますが、プレーヤーカードのアニメーションが完了するまで待つ代わりに、ディーラーカードはディーラーの現在地に表示されます。アニメーション化されません。私はアニメーションを行うことに新しいですが、どんな助けでも大変感謝しています。
-(void) animateHandsDealt: (Hand*) pHand:(Hand*) dHand{
pCard1= [[UIImageView alloc] initWithFrame:CGRectMake(125, 0, 75, 110)];
dCard1= [[UIImageView alloc] initWithFrame:CGRectMake(125, 0, 75, 110)];
CGFloat start = 0;
CGFloat duration = 1;
CGPoint playerTo = CGPointMake(120, 300);
CGPoint dealerTo = CGPointMake(120, 70);
pCard1.image = [UIImage imageNamed:[[pHand.cardArr objectAtIndex:0 ] imagePath]];
[self.view addSubview: pCard1];
[playerImages addObject:pCard1];
CABasicAnimation *move = [CABasicAnimation animationWithKeyPath:@"position" ];
move.fillMode = kCAFillModeBoth;
move.beginTime = start;
[move setToValue:[NSValue valueWithCGPoint:playerTo]];
[move setDuration:duration];
move.removedOnCompletion = FALSE;
[[pCard1 layer] addAnimation:move forKey:@"position"];
dCard1.image = [UIImage imageNamed:@"back-red-75-1.png"];
[self.view addSubview: dCard1];
CABasicAnimation *move2 = [CABasicAnimation animationWithKeyPath:@"position" ];
[move2 setToValue:[NSValue valueWithCGPoint:dealerTo]];
move2.beginTime = start + duration;
[move2 setDuration:duration];
move2.fillMode = kCAFillModeBoth;
move2.removedOnCompletion = FALSE;
[[dCard1 layer] addAnimation:move2 forKey:@"position"];
}
私はイメージを表示することができませんが、これは間違いなく私がこれまで試みていたよりも良い方法と思われます。画像が表示されない理由を教えてください。 –
いくつかのコード行を分割して、デバッグモードをステップバイステップで実行し、有効な値があることを確認することができます。 – mbm29414
私はUIImageViewをサブビューとして追加したことはありませんでした。私のニーズに合わせてコードを修正しましたが、すべてがうまくいくように見えます。ありがとう –