У меня небольшая настольная игра, все сделано, за исключением того, чтобы показывать противникам последние ходы.ImageView Animation in Steps
То, что я пытаюсь сделать, это:
Шаг1: Скрыть все части
Шаг2: Animate Перестройки
Step3: Показать существующие части снова
То, что я пытался,
[UIView animateWithDuration:5.00 delay:0.5
options:UIViewAnimationOptionCurveEaseOut //4
animations:^{
for (int i = 0; i<[_piecePlayer1 count]; i++) {
[[_piecePlayer1 objectAtIndex:i] hide];
[[_piecePlayer2 objectAtIndex:i] hide];
}
}
completion:^(BOOL finished){
}];
Скрытие сделано таким образом.
-(void)hide{
CATransition *animation = [CATransition animation];
animation.type = kCATransitionFade;
animation.duration = 0.4;
[self.layer addAnimation:animation forKey:nil];
self.hidden = YES;
}
Проблема:
Шаг 1 работает нормально, но если я пропустить шаг 2 и просто пытаюсь показать кусочки в completion block
он просто появляется мгновенно, даже я поместил вложенный блок анимации с задержкой.
И как я могу достичь этого поэтапно, выполнить другую анимацию, когда первый закончен?
Благодаря danielquokka
и специальным благодаря этому один Repeat Animation
Это работает на самом деле, как я хотел, чтобы все работало,.), Но одна вещь, которая все еще осталось, пользователь может иметь один или больше ходов, но использование цикла for над блоком анимации не работает последовательно, как я могу анимировать движения в последовательности после того, как текущие шары скрыты? Вы можете дать представление, я попробую – user3141985
Я предлагаю иметь способ сделать индивидуальный переход с анимацией внутри него и вернуть его к тому же методу в блоке завершения анимации. Переменная состояния (экземпляра) может определять, к какому шагу она подходит, и вызвать фейд в анимации, когда она будет завершена. – danielquokka
приятно, я постараюсь, поэтому он будет работать с рекурсией! – user3141985