私は使用してサウンドを再生しAVAudioPlayer
、タイマーを使用して2分間実行しNSTimer
、アニメーションのシーケンスを使用して再生しているviewControllerを持っています
[UIView animateWithDuration:2.0
delay:0.0
options:UIViewAnimationOptionCurveLinear
animations:^{
//Rolling the Man's tongue out
_cooling2ManImage.alpha = 1.0;
_cooling3ManImage.alpha = 0.0;
}
completion:^(BOOL boolValue){
[UIView animateWithDuration:2.0
delay:0.0
options:UIViewAnimationOptionCurveLinear
animations:^{
//showing the Arrow image and translating the arrow to the mouth
_cooling1ArrowImage.alpha = 1.0;
_cooling1ArrowImage.transform = CGAffineTransformMakeTranslation(0,-110);
}
completion:^(BOOL boolValue){
[UIView animateWithDuration:1.5
delay:0.0
options:UIViewAnimationOptionCurveLinear
animations:^{
//Hiding the arrow
_cooling1ArrowImage.alpha = 0.0;
}
completion:^(BOOL boolValue){
_cooling1ArrowImage.transform = CGAffineTransformMakeTranslation(0,0);
[UIView animateWithDuration:2.0
delay:0.0
options:UIViewAnimationOptionCurveLinear
animations:^{
//Roll the tongue back in
_cooling2ManImage.alpha = 0.0;
_cooling3ManImage.alpha = 1.0;
}
completion:^(BOOL boolValue){
//Show the arrow and translate it
[UIView animateWithDuration:2.0
delay:0.0
options:UIViewAnimationOptionCurveLinear
animations:^{
_cooling3ArrowImage.alpha = 1.0;
CGAffineTransform scale;
CGAffineTransform translate;
scale = CGAffineTransformMakeScale(2.5, 2.5);
translate = CGAffineTransformMakeTranslation(0, 40);
_cooling3ArrowImage.transform = CGAffineTransformConcat(scale, translate);
_cooling3ArrowImage.alpha = 0.0;
}
completion:^(BOOL boolValue){
[UIView animateWithDuration:2.0
delay:0.0
options:UIViewAnimationOptionCurveLinear
animations:^{
_cooling2ManImage.alpha = 0.0;
_cooling3ManImage.alpha = 1.0;
_cooling1ArrowImage.alpha = 0.0;
_cooling3ArrowImage.alpha = 0.0;
_cooling3ArrowImage.transform = CGAffineTransformMakeTranslation(0,0);
_cooling3ArrowImage.transform = CGAffineTransformMakeScale(1,1);
if (count <= 6 ) {
[self startAnimation1];
count += 1;
NSLog(@"%i",count);
}
}
completion:nil];
}];
}];
}];
}];
}];
ユーザーが「一時停止」ボタンを押すと、オーディオ、アニメーション、タイマーが一時停止し、ユーザーが再開ボタンを押すと、一時停止した場所から正確に再開するように、一時停止と再開機能を実装する必要があります。どうすればこれを達成できますか?