Я пытаюсь сделать простую игру Саймона (, в которой мигает возрастающая последовательность цветов, и пользователь должен попытаться повторить эту последовательность ). Я собираюсь сделать это, имея 4 UIViews с 8 изображениями. Итак, есть UIView для красного, синего, зеленого и желтого цветов. И у меня есть гифки темно-зеленого, светло-зеленого, темно-красного, светло-красного и т. д.
Итак, в моем коде я использую блок анимации UIView transitionWithView :. UIView imageView.image по умолчанию имеет темное цветное изображение, и этот блок переходит к светлому изображению, а по завершении возвращается к темному цветному изображению (, чтобы придать ему «светящийся» вид ).
- (void) animateColor:(NSString *)color
{
...
//do stuff to default the dark and light image name and which UIView to animate based on the color parameter
...
[UIView transitionWithView:imageView
duration:.5
options: UIViewAnimationOptionTransitionCrossDissolve | UIViewAnimationOptionAutoreverse
animations:^{
imageView.image = [UIImage imageNamed:lightImage];
}
completion:^(BOOL finished){
if (finished){
imageView.image = [UIImage imageNamed:darkImage];
}
}];
}
Это прекрасно работает, когда я называю этот метод одним цветом.
Проблема в том, скажем, у меня есть NSArray или цвета, которые я хочу анимировать последовательно. Итак, если бы мой массив был «синим», «зеленым», я бы хотел, чтобы transitionWithView вызывался с использованием синего цвета, анимировал синий вид, а затем анимировал зеленый вид. Прямо сейчас он будет анимировать зеленый и синий вид одновременно.
Я пытаюсь поиграть с NSTimer прямо сейчас, но мне не очень повезло с этим.
Любые советы там будут высоко оценены.